
Я использую PHP 5.4 (да, я знаю, что он старый и его нужно обновить) как компонент FastCGI в IIS 8.5 на Windows Server 2012 R2. Пока я настраивал параметры, я прочиталhttps://docs.microsoft.com/en-us/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behaviorстатья.
В этой статье рекомендуется установитьInstanceMaxRequestsиPHP_FCGI_MAX_REQUESTSк10 000- но это не объясняет, почему. Есть ли лучшая стратегия для определения наилучшего значения для конкретной среды, или безопасно жестко закодировать его как 10 000, как в статье?
Как определить, что лучше всегоInstanceMaxRequestsиPHP_FCGI_MAX_REQUESTSценности естьдля моей собственной среды? Как мне определить, какие значения мне следует использовать?
решение1
Я запустил свою производственную среду со значением20 000по крайней мере 5 лет без проблем. (Я запускаю свои среды разработки со значением200.)
Вопрос на самом деле в следующем: как часто вы хотите (или нуждаетесь) в создании новых процессов PHP для обработки входящего трафика? Если вы видите много ошибок HTTP 500 в своих журналах, попробуйте уменьшить это значение.
Если установить его слишком низким, в течение дня будет создано и уничтожено много php-cgi.exe
процессов, что может вызвать небольшую задержку в обработке запросов. Если установить его слишком высоким, утечка памяти останется неконтролируемой дольше или может привести к необъяснимым ошибкам HTTP 500, если процесс рухнет (хотя я думаю, что это маловероятно).