Phusion Passengerのリソース消費
Phusion Passengerを使うようにしたのですが、リソースの消費量は気になるところ。チューニングの方法については、以下のページにあります。
5.12. Resource control and optimization options
上記ページを見る限り、チューニングパラメータは以下の5点です。
- PassengerMaxPoolSize
- PassengerMaxInstancesPerApp
- PassengerPoolIdleTime
- PassengerMaxRequests
- PassengerStatThrottleRate
最初のPassengerMaxPoolSizeはrailsのインスタンスの最大値で、VPSでメモリが256MBでMySQLのような他のサービスも立ち上がっている場合は2が推奨とのこと。最後のPassengerStatThrottleRateは、config/environment.rb等のファイルの存在をチェックする間隔(秒)で、デフォルトの0だと毎リクエスト毎にチェックするらしい。
ということで、/etc/apache2.confの最後に以下の指定をしました。
PassengerMaxPoolSize 2 PassengerStatThrottleRate 3600
apache2起動後にblogにアクセスしてみると、どーんと120MBくらいメモリを使用します。うーん、どうなんだろう。あまり変化がないようであれば、PoolIdleTimeを0にしてプロセスを常駐させることも検討してみます。