Vps
在 Apache + Passenger 上執行 Ruby on Rails 應用程序 == 佔用大量記憶體
我正在使用乘客/Apache 2.2 在我的伺服器上執行 redmine(一個 RoR 應用程序)。乘客和紅寶石正在使用太多的記憶體。
有沒有更有效的方式來執行 redmine/ruby?
我只需要支持六個 redmine 使用者。我想繼續使用 Apache,但我願意接受所有不是“使用 nginx/lighttpd”的建議。
(以下數據來自 512MB VPS,因此 Ruby 僅用於 redmine 超過 128MB)
user ....... %mem ....... process ----------------------------------- www-data ... 13.6 0:00.65 ruby1.8 www-data ... 12.2 0:04.86 ruby1.8 www-data ... 9.4 0:04.15 apache2 www-data ... 9.0 0:13.94 apache2 www-data ... 3.2 0:00.27 apache2 root ... 2.5 0:00.23 apache2 root ... 1.9 0:01.19 ruby1.8
那麼,有什麼比Passenger更適合我的呢?
謝謝你的想法!!
您可以配置 Apache/passenger 生成的 Rails 程序的數量。對於您的大小(3 個並發請求),您應該可以使用 2 個 rails 程序:
在你的 apache 配置中設置這些:
PassengerMaxPoolSize 2 PassengerMaxInstancesPerApp 2
MaxPoolSize 決定了最多可以啟動多少個實例,MaxInstancesPerApp 決定了每個 web-app 可以擁有多少個實例。
你可能想玩:
PassengerPoolIdleTime
指定實例在解除安裝之前必須處於空閒狀態的秒數。預設值為 300 秒。
我執行 3 個實例的高流量 Web 應用程序沒有任何問題。
哦,而且——Ruby 企業版也有幫助。