IIS 7 and Above
PHP on Windows WinCache Dolphin 7.0.4 CPU 100%
Last post Jan 10, 2011 05:19 AM by blazingbiz
Jan 10, 2011 04:02 AM|blazingbiz|LINK
How to limit the number of php-cgi.exe processes spawned per site on IIS 7.5
Sever specs -
Dedicated Server with Windows Server 2008 R2 64-bit Standard Edition
Intel Xeon Quad Core 2.67 Ghz CPU
8 GB DDR2 Ram
Running IIS 7.5 latest updates as of 1/10/2011
WinCache 1.1 - With Default Settings and handles Sessions
I installed Dolphin 7.0.4 on this server along with the Ray Media Server 184.108.40.206, it is a very busy site with regular hits in the multiple thousands per hour, the way the site and the framework is set up it is very resource intensive, lots of RSS, video
posts, uploads, photos, multiple chat rooms, all going at the same time, the members have climbed to over 800 in two days and growing, the client I'm running this for is a spaz that just wants more features and video gloss and Web 2.0 Eye Candy and it's an
So anyway, when I check my Task Manager on my server the AppPool for this site has spawned 17 seperate php-cgi.exe processes each that take about 2 to 10% CPU resources at any given time, so my total CPU usage in Task Manager is 100% constantly.
I have the site running on WinCache 1.1 and the default Dolphin set up caches files regularly. The RMS runs on java that isn't taking up any CPU cycles and a decent amount of RAM. The total RAM usage is between 17 to 25% so that's good.
How do I get more CPU cycles reclaimed and get this more under control? I'm able to login with Remote Desktop and the site runs a little slow which must be a testament to the imporved architecture of these components, but I can't go on like this for much
longer I think.
I was able to stop the site in IIS 7.5 and kill the processes then start them over again to see if that helped and it did for about 20 minutes and everything was back up to where it was before. The CPU usage was up to 100% in about 12 minutes.
I think IIS OutPut Caching would help but there are so many query string variables in Dolphin I'm afraid to screw with it unless I know completely the effect of it on the site, and that would be a long testing process - so I'm interested in what people might
suggest as some solutions I can implement quickly.
Jan 10, 2011 04:12 AM|blazingbiz|LINK
I read a suggesting after doing a search on this topic to change the MaxInstances setting in the server's FastCGI feature to 0 so it can automatically manage the instance amounts itself. I had previously had it at 8, 2 per CPU cores - so I guess the number
was 16 rather than 17 instances as I posted before.
I was glad to see the number of php-cgi.exe instances drop in half to 8 and the CPU usage down to 50%, but within a few minutes it was back up to a 100% again.
Jan 10, 2011 05:19 AM|blazingbiz|LINK
I was reading about the Dolphin cache system that by default uses the file system, I'm thinking I can take the file system cache and incorporate it into WinCache somehow using the UserFile Cache feature of it. If anyone would know where to start on doing
this and how to hook it into Dolphins cache system, let me know.