passengerのRailsPoolIdleTime

Redmineの初回アクセス時とか、しばらく時間を明けた後の接続が非常に重い。

Aapcheのアクセスログに%Tを付けて「リクエストを扱うのに掛った時間(秒単位)」を取得すると、10秒も掛っている事が分かった。
Apache モジュール mod_log_config

調べたところ、RedmineをApacheで動かす為に使っているpassengerが、デフォルトで2分間、アクセスが無かったらRailsを止めているみたい。

つか、Redmineのページにも書いてあったの見落としていた・・・
Apache上でRuby on Railsアプリケーションを動かす/Passenger(mod_rails for Apache)の利用

このデフォルト値を変更する為、httpd.confに以下を追加してApacheを再起動する。
RailsPoolIdleTime 172800

※あまり時間を大きくするとリソースやら別の問題が出てきそうだから、とりあえず12時間に設定

あと、MySQLのスロークエリのログを取得する為、/etc/my.cnfに以下を追加
[mysqld]
long_query_time=2
log-slow-queries=/var/log/slow.log

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です