Php

IIS FastCGI 下的 PHP - 如何確定 InstanceMaxRequests 和 PHP_FCGI_MAX_REQUESTS 的最佳值

  • September 17, 2020

我在 Windows Server 2012 R2 上的 IIS 8.5 中執行 PHP 5.4(是的,我知道它很舊並且需要升級)作為 FastCGI 組件。在調整設置時,我閱讀了https://docs.microsoft.com/en-us/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior文章。

那篇文章建議將InstanceMaxRequestsPHP_FCGI_MAX_REQUESTS設置為10 000 - 但它沒有解釋原因。是否有更好的策略來確定特定環境的最佳價值是什麼,或者根據文章將其硬編碼為 10 000 是否安全?

如何確定最適合我自己的環境的InstanceMaxRequestsPHP_FCGI_MAX_REQUESTS值是多少?我如何確定應該使用哪些值?

我已經執行價值為20 000的生產環境至少 5 年沒有問題。(我以200的值執行我的開發環境。)

真正的問題是:您希望(或需要)多久創建一次新的 PHP 程序來處理傳入流量?如果您在日誌中看到大量 HTTP 500 錯誤,請嘗試減小此值。

將其設置得太低會導致php-cgi.exe全天創建和銷毀許多程序,這可能會導致處理請求略有延遲。將其設置得太高將使記憶體洩漏不受檢查的時間更長,或者如果程序崩潰(儘管我認為這不太可能),可能會導致無法解釋的 HTTP 500 錯誤。

引用自:https://serverfault.com/questions/928328