Müşterilerin sunucuyu yapılandırmasına yardımcı olun, WIN2008 sistemini kurun, WIN2008'in IIS7'sinde PHP-CGI.EXE'yi aramak için FASTCGI kullanın, varsayılan olarak yalnızca 4 işlem vardır, bu nedenle yüksek trafikli web siteleri için yetersiz işlem sayısının neden olduğu işlem kuyruğu çok ciddidir. Çözüm aşağıdaki gibidir
32 bit sistem
64 bit sistem
Kurulumdan sonra aşağıdaki araçları aşağıda gösterildiği gibi indirin
a ekle
PHP_FCGI_MAX_REQUESTS = 10000
Ekledikten sonra, IIS'yi yeniden başlatmadan işlem yöneticisinde etkisini görebilirsiniz.
Ayarlanan değere ulaşmış gibi görünmüyor, ancak web sitesine göz atmak performans ipucunu açıkça hissediyor.
Bellek İşgali ~~ Aslında Microsoft'un sisteminin dezavantajlarından biri, istemci uygulamaları gibi kullanıcı uygulamaları için yeterli bellek bırakmak yerine, sunucunun bellek kullanımının mümkün olduğunca hizmetler tarafından kullanılması gerektiğidir.
Buradaki herkese hatırlatmak istediğim şey, aşağıdaki iki parametrenin ayarlanmaya değer olduğudur:
InstanceMaxRequests: fastcgi işleminin (php-fcgi.exe) işleyebileceği maksimum istek sayısı. Aşarsa geri dönüştürülür. Varsayılan değer 200'dür
PHP_FCGI_MAX_REQUESTS: php'nin kendisi tarafından kontrol edilen maksimum istek sayısı, varsayılan değer 500'dür
Fastcgi'yi cgi'yi çalıştırmak için kullanmak istediğinizden, php'nin kendisinin maksimum istek sayısını sınırlamasını kesinlikle istemezsiniz! !
Bu nedenle, InstanceMaxRequests'in PHP_FCGI_MAX_REQUESTS değerinden küçük veya ona eşit olduğundan emin olmalıyız, böylece PHP hiçbir zaman süreci geri dönüştürme şansına sahip olmayacaktır.
Micorsoft'un ne dediğini görebilirsiniz:
FastCGI'nin, yerel PHP geri dönüşümü başlamadan önce Php-cgi.exe işlemlerini her zaman geri dönüştürdüğünden emin olun. İnstanceMaxRequests yapılandırma özelliği, FastCGI işlem geri dönüştürme davranışını kontrol eder. Bu özellik, FastCGI'nin geri dönüştürmeden önce kaç isteği işleyeceğini belirtir. PHP'de benzer bir işlem geri dönüşümü vardır PHP_FCGI_MAX_REQUESTS ortam değişkeni tarafından kontrol edilen işlevsellik. instanceMaxRequests'i PHP_FCGI_MAX_REQUESTS'den küçük veya ona eşit bir değere ayarlayarak, yerel PHP işlem geri dönüşüm mantığının asla başlamayacağından emin olabilirsiniz.
Önermek
512M bellek değişimi maksimum Koşullar = 50
1G bellek değişimi maks.
2G bellek değişimi maksimum Koşullar = 140
Tekrar değiştir
InstanceMaxRequests =
Bu değeri azaltın
Önermek
512M bellek değişimi InstanceMaxRequests = 200
1G bellek değişimi InstanceMaxRequests = 300
2G bellek değişimi InstanceMaxRequests = 500
Değiştirdikten sonra IIS'yi yeniden başlatın.
instanceMaxRequests PHP_FCGI_MAX_REQUESTS Bu iki parametre, bir php-cgi işlemi oluşturulduktan sonra kabul edilen maksimum PHP istek sayısını belirler. lighttpd'deki varsayılan yapılandırma 10000'dir. Diğer bir deyişle, php-cgi süreci 10.000 PHP isteği aldıktan sonra sona erecek, tüm belleği serbest bırakacak ve yönetim süreci tarafından yeniden başlatılacaktır. Örneğin 100'e düşürülürse, php-cgi'yi yeniden başlatma döngüsü büyük ölçüde kısalacak ve ara sıra yüksek bellek işlemlerinden kaynaklanan sorunların etki süresi de kısalacaktır.
maxInstances Bu parametre, başlatılabilecek maksimum örnek sayısını, yani php-cgi.exe işlemlerinin sayısını belirtir. Örneğin 100'e düşürülürse, görev yöneticisi işleminde en fazla yalnızca php-cgi.exe işlemi olur ve php-cgi.exe tarafından kullanılan toplam bellek büyük ölçüde azalır.
Şu anda kullandığım sunucu Windows 2003 işletim sistemi, 4G bellek ve php-cgi.exe programı 7-25M bellek kaplıyor. MaxInstances değerini 300 olarak ayarladım, bu da php-cgi.exe işlemlerinin toplam sayısını azaltır ve belleği kaplar. Azaltıldığında, yanıt hızı eskisinden çok daha hızlıdır, en azından ne kadar ayarlanacağı site ziyaretlerinize göre belirlenebilir.