問題のあるNginxとPassengerのセットアップがあります。
比較的低い負荷では、サーバーがバックアップされ、次のような結果がerror.logに送られ始めるようです。
connect() to unix:/passenger_helper_server failed
(11: Resource temporarily unavailable) while connecting to upstream
私の乗客の設定は次のとおりです。
passenger_min_instances 2;
passenger_pool_idle_time 1200;
passenger_max_pool_size 20;
いくつか掘り下げましたが、CPUが固定されているようです。メモリ使用量は問題ないようですpassenger_memory_statsは最大で約700MBが使用されていることを示していますが、CPUは100%に近づいています。
これはこのタイプのエラーを引き起こすのに十分ですか?
プールのサイズを小さくする必要がありますか?私が見なければならない他の構成設定はありますか?
助けていただければ幸いです
その他の関連情報:
CPUが100%に近づき、EC2スモールインスタンスの仕様を見ると、マシンがスワップしているように聞こえます。サーバーの起動中にfree -m
の出力を確認し、負荷テストを実行するときにそれを確認します。
PhusionPassengerのドキュメントから
数値が大きいほどメモリ使用量は多くなりますが、同時HTTPリクエストを処理する機能が向上します。
本当にたくさんの同時リクエストを処理する必要がありますか?もしそうなら、おそらくより大きなEC2インスタンスに投資してから、passenger_max_pool_size
を上げる必要があります。乗客がその小さなマシンで提供するデフォルトの6以上が必要になることは疑わしいです。