簡體   English   中英

Phusion乘客生成問題

[英]Phusion Passenger spawning problems

我正在使用Rails 3RC應用程序,並且是第一次使用Phusion Passenger。 在第一個請求上啟動應用程序大約需要30秒,這是我的應用程序中每個ruby進程的典型內存消耗:

PID VMSize專用名稱
18161 263.5 MB 75.4 MB機架:/ rails_apps / my_app / current

那是典型的內存消耗嗎? 我的應用程序約為11MB(如果不包括我的/公共資產,則為<4MB)。

如果有一個用戶,它會在第一個請求后正常運行,但是當我運行一些自定義壓力測試腳本時以及在使用我的搜索建議功能時,都會遇到很多問題,該功能會進行大量快速的ajax調用(這是我期望的) ,因為下一個請求是在第一個請求完成之前到達的。 我發現這很奇怪。服務器開始生成Ruby線程,這需要花費額外的30秒來加載,但是在生成過程中沒有其他請求可以通過。 為了仔細檢查,我在進程生成時使用其他網絡上的瀏覽器進行了測試,以確保它不是我的本地計算機所特有的(例如,從一個進程處理所有請求)。 這些瀏覽器請求必須等待,直到所有新的生成都完成。

所以我的問題是..這是乘客的典型行為嗎? 等待產卵,然后再通過其他任何請求? 通過查看文檔,我認為在產卵期間,其他請求將由空閑的紅寶石進程處理。 這是我使用的版本,以防你們知道任何不兼容性。 提前致謝! 我真的不想回到Mongrel ;-)

我的設置
四分之一片Rackspace Cloud(4GB RAM和雙四核的1/4)
CentOS的5.4
Rails 3.0RC
ruby 1.9.2dev(2010-05-31修訂版28117)[x86_64-linux]
帶有雜種的乘客2.2.15

nginx配置選項:
passenger_max_pool_size 30;
passenger_enabled開啟; #in /位置塊。

我嘗試了保守的生成,並且看到了相同的行為。

乘客3因異步生成而退出。 您甚至可以設置最少數量的進程。

即使使用舊的行為,大多數人流量較高的網站也不會遇到此問題,因為:

  1. 產生第一個過程通常更快。 對我來說,Rails應用程序通常需要5秒鍾才能生成。
  2. 智能產卵方法可以更快地產卵其他進程,通常只需要原始時間的10%。
  3. 具有高流量網站的人們通常將其池空閑時間設置為較高的值,以使進程在白天不會關閉,而只會在晚上進行清理。

您的內存使用量有點高。 我見過的大多數Rails應用程序都需要20-50 MB的私有內存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM