Here's the scenario:
I have three (3) separate WP websites running on a 64-bit Win 2008 R2 Server. All sites are setup identically using:
- InstanceMaxRequests = 10000
- PHP_FCGI_MAX_REQUESTS =10000
- Separate app pools (integrated)
- All app pools identical in settings
While testing for the last few hours all sites has close to zero traffic...but...when I look at the process manager I find this:
Site #1 - one php-cgi.exe process running
Site #2 - dozens of php-cgi.exe processes running (always up to the Max Instances value)
Site #3 - dozens of php-cgi.exe processes running (always up to the Max Instances value)
Many of the processes are at zero cpu usage but are hogging memory.
The strange thing is that no matter what I do on site #1 (connecting with multiple browsers etc.) the site uses just one or two processes, and shuts them down pretty efficiently when done.
On sites #2 and #3 I can stop the app pool, make sure all processes are gone, then within a few seconds of restarting the app pool they have once again spawned the maximum number of php-cgi.exe processes (depending on what I have set as the Max Instances - I've tried it with many values from 0 to 50, and the results never vary). BTW, when I have Max Instances set to 0, sites 2 & 3 will spawn enough processes to spike the CPU at 100%.
Here's what I have tried, with no luck:
- Updating WP and all Pluings to most current versions
- Deactivating all plugins entirely
- Changing theme to a fresh WP 2014 theme
- Installing WordFence and blocking any IP ranges outside the USA (although there was only two hits from those the entire evening).
- Scanning with WordFence to find any security flaws (it came up with a clean bill of health)
So, what am I missing here? Where do I look to figure out why one site runs beautifully and the other two act up?