我有一個在OSX Snow Leopard中以生產模式運行的Rails + Apache2 + Postgres + Passenger應用程序。該應用程序充當雲中另一個應用程序的數據倉庫,因此我不斷地獲取API調用到我的OSX生產版本。在我的Rails + Apache2 +乘客生產設置上堆積過多的httpd進程?
最近重新啓動後,我發現大量的httpd進程堆積起來,最終需要重新啓動apache。我沒有改變任何設置,一切都運行良好。任何想法的最佳方式來解決這個問題?
$ ps -ef|grep httpd
0 6203 1 0 0:00.20 ?? 0:00.47 /usr/sbin/httpd -D FOREGROUND
70 6222 6203 0 0:00.05 ?? 0:00.11 /usr/sbin/httpd -D FOREGROUND
70 6224 6203 0 0:00.31 ?? 0:00.50 /usr/sbin/httpd -D FOREGROUND
70 6233 6203 0 0:00.05 ?? 0:00.10 /usr/sbin/httpd -D FOREGROUND
70 6234 6203 0 0:00.43 ?? 0:00.64 /usr/sbin/httpd -D FOREGROUND
70 6243 6203 0 0:00.02 ?? 0:00.03 /usr/sbin/httpd -D FOREGROUND
70 6319 6203 0 0:00.08 ?? 0:00.16 /usr/sbin/httpd -D FOREGROUND
70 6334 6203 0 0:00.02 ?? 0:00.05 /usr/sbin/httpd -D FOREGROUND
70 6469 6203 0 0:00.04 ?? 0:00.08 /usr/sbin/httpd -D FOREGROUND
70 6487 6203 0 0:00.36 ?? 0:00.48 /usr/sbin/httpd -D FOREGROUND
70 6593 6203 0 0:00.36 ?? 0:00.48 /usr/sbin/httpd -D FOREGROUND
70 6709 6203 0 0:00.04 ?? 0:00.08 /usr/sbin/httpd -D FOREGROUND
70 6718 6203 0 0:00.04 ?? 0:00.10 /usr/sbin/httpd -D FOREGROUND
70 6834 6203 0 0:00.01 ?? 0:00.03 /usr/sbin/httpd -D FOREGROUND
70 6852 6203 0 0:00.00 ?? 0:00.00 /usr/sbin/httpd -D FOREGROUND
70 6853 6203 0 0:00.01 ?? 0:00.02 /usr/sbin/httpd -D FOREGROUND
這是唯一安裝的。也許請求是超時?我沒有看到生產日誌,Apache錯誤日誌或訪問日誌中的任何錯誤。我的乘客狀態看起來很滿:
– LeoAlmighty 2010-04-05 09:40:19ok。從你的信息總運行的應用程序是6.我想你應該考慮增加PassengerMaxPoolSize。還要考慮打開PassengerHighPerformance,PassengerUseGlobalQueue選項。由於公平的負載平衡,如果有一個長時間運行的請求,那麼其他請求將不會被處理。我想看看這些文檔,看看最適合你的是一件好事。 http://www.modrails.com/documentation/Users%20guide.html – 2010-04-05 10:38:41