
Apache/2.2.3 で Redmine 1.0 を Passenger、ruby 1.8.7、rails 2.3.5 とともに実行しています。ハードウェアは 512MB Linode VPS です。一定期間内に初めて Redmine にアクセスすると、5 ~ 6 秒の遅延が発生します。アクセスした後は、ページが非常に速く読み込まれます。これは設定ミスでしょうか、それとも想定どおりの動作でしょうか。開発者を少しでも満足させるために何かできることはありますか。
答え1
アプリケーション インスタンスをより長時間稼働状態に保つ 1 つの方法は、次のものを変更することです。
PassengerPoolIdleTime
見るPhusion Passenger ユーザーガイド詳細については、こちらをご覧ください。
これまでのところ、3600 に設定すると良い結果が得られています。
答え2
将来の遅延を避けるために、最初の起動後にメモリに保持する方法はありますか?
編集: PassengerPoolIdleTime 0
うまく機能します。なぜそのオプションを見逃したのでしょうか?
答え3
少なくとも私の経験では、これはほぼすべての Rails アプリの典型的な動作です。特に Redmine のような大規模なアプリではそうです。ロード時間が発生するのは、実際に実行可能ファイルを起動し、最初の起動時にアプリをメモリにロードするためです。