![IIS FastCGI での PHP - InstanceMaxRequests と PHP_FCGI_MAX_REQUESTS の最適な値を決定する方法](https://rvso.com/image/726385/IIS%20FastCGI%20%E3%81%A7%E3%81%AE%20PHP%20-%20InstanceMaxRequests%20%E3%81%A8%20PHP_FCGI_MAX_REQUESTS%20%E3%81%AE%E6%9C%80%E9%81%A9%E3%81%AA%E5%80%A4%E3%82%92%E6%B1%BA%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
私はWindows Server 2012 R2上のIIS 8.5でFastCGIコンポーネントとしてPHP 5.4(古いのでアップグレードする必要があることは承知しています)を実行しています。設定を調整しているときに、https://docs.microsoft.com/en-us/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior記事。
その記事では、インスタンス最大リクエストそしてPHP_FCGI_MAX_REQUESTSに10000- しかし、その理由は説明されていません。特定の環境に最適な値を決定するためのより良い戦略はありますか、それとも記事にあるように 10 000 としてハードコードしても安全ですか?
何が最善かを判断するにはどうすればいいでしょうかインスタンス最大リクエストそしてPHP_FCGI_MAX_REQUESTS値は自分の環境のために? どのような値を使用すればよいかをどのように判断すればよいですか?
答え1
私は本番環境を以下の値で実行しました。20,000人少なくとも5年間は問題なく使用できました。(私は開発環境を200。
本当の質問は、着信トラフィックを処理するために新しい PHP プロセスをどのくらいの頻度で作成したい (または作成する必要がある) かということです。ログに HTTP 500 エラーが多数表示される場合は、この値を減らしてみてください。
設定値が低すぎると、php-cgi.exe
1 日を通して多くのプロセスが作成および破棄されるため、リクエストの処理に若干の遅延が生じる可能性があります。設定値が高すぎると、メモリ リークが長時間チェックされないままになったり、プロセスがクラッシュした場合に原因不明の HTTP 500 エラーが発生したりする可能性があります (ただし、このような事態は起こりにくいと思います)。