
我們在 Apache/2.2.3 上執行 Redmine 1.0、Passenger、ruby 1.8.7 和 Rails 2.3.5。硬體是 512MB Linode VPS。在一段時間內首次訪問Redmine時,我們遇到了5-6秒的延遲。當我們訪問它之後,頁面加載速度非常快。這是配置錯誤還是預期行為?我們能做些什麼讓我們的開發人員更開心一點嗎?
答案1
使應用程式實例保持更長時間的一種方法是修改:
PassengerPoolIdleTime
看Phusion Passenger 使用者指南欲了解更多資訊。
到目前為止,我將其設置為 3600 的經驗很好。
答案2
有什麼方法可以在首次啟動後將其保留在記憶體中以避免將來的延遲嗎?
編輯: PassengerPoolIdleTime 0
奇蹟般有效。我怎麼錯過了這個選項?
答案3
至少根據我的經驗,這是幾乎所有 Rails 應用程式的典型行為。對於像Redmine 這樣大的應用程式來說尤其如此。載入時間是因為您實際上是在第一次啟動時啟動可執行檔並將應用程式載入到記憶體中。