Ruby-on-Rails
乘客不連續執行
我想知道是否有人可以告訴我通過 Rack/Passenger 執行的 Rails 應用程序的正確行為,因為我在生產系統上看到一些異常行為,而這些行為從未完全正確執行。
我的理解是,Passenger 將創建 Rack 實例來滿足對 Web 應用程序的需求。我遇到的問題是,Passenger 和 Rack 程序在執行幾分鐘後都會消失。在這種情況下,下一個請求將重新啟動 Passenger 和 Rack,但這可能需要 10 秒以上。
當我查看程序列表時,我發現當一切正常時,我至少有一個“機架:/my_application”實例。我還執行了“Passenger ApplicationSpawner”。
ApplicationSpawner 似乎在大約 10 分鐘後消失了,Rack 實例有時也會消失。我有時最終沒有 Rack 程序或 ApplicationSpawner,所以下一個請求需要很長時間。
關於如何糾正這個問題的任何想法?
這是乘客的預期(甚至有人說是期望的)行為。牠喜歡修剪未使用的 appserver 工作者,以便在必要時將 RAM 用於其他事情。
PassengerMinInstances
您可以使用和/或調整乘客的行為PassengerPoolIdleTime
。