Just wanted to report, that after migrating from a Windows Server 2008 - a WNMP stack that was plagued by problems and instability (most notable php-cgi.exe kept hanging) - to Windows Server 2012, it seems not only has stability improved, but the performance is superior to my local MNMP stack (I can't believe I'm saying this).
Here's the results of running mem.php script from 2bits.com
mac: Before boot 0.22MB Boot time 45.5 ms After Boot 5.02MB Boot Peak 5.06MB Module count 128 After fetch 5.02MB Fetch Peak 5.06MB
windows server 2012: Before boot 0.12MB Boot time 97.7 ms After Boot 2.11MB Boot Peak 2.18MB Module count 128 After fetch 2.11MB Fetch Peak 2.18MB
Windows is memory consumption beats my quadcore mac hands down. WOW
Here's the stack details
Nginx 1.5.6
Mysql 5.6.14
PHP 5.5.5 Threadsafe
(using Opcache)
Comments
php-cgi pool
Also wanted to point out that using a php-cgi pool of at least four processes with an nginx upstream is essential for stability, even in windows server 2012
Also, keep PHP_FCGI_MAX_REQUESTS low
setting PHP_FCGI_MAX_REQUESTS to 1000 forces the processes to be re-spawned after 1000 requests ... long php-cgi.exe run time seems to make it hang