2009-09-30 95 views
5

如果我的Rails應用程序在我的database.yml文件中將數據庫池大小設置爲5(默認值),並且正在使用Phusion Passenger運行,那麼這是否意味着可能有多達5個Passenger產生的每個進程的數據庫連接,還是在所有進程中共有5個?Phusion乘客和數據庫池

回答

6

池大小適用於一個ruby進程。一些Ruby解釋器可以使用線程來處理多個請求,如jRuby。池大小適用於該進程和所有線程。

乘客不使用線程,而是創建新的紅寶石進程。

+1

這實際上取決於乘客如何配置產卵導軌應用程序。默認情況下,池中的所有連接都通過所有導軌進程共享。這意味着所有5個連接都在所有進程之間共享。 http://stackoverflow.com/questions/2200586/passenger-hosted-rails-app-painfully-slow-but-the-server-is-a-beast – Horacio 2011-07-22 09:18:51

+0

@霍拉西奧:來自Phusion的人[有爭議的帖子聲稱連接共享](https://groups.google.com/forum/#!topic/phusion-passenger/hfdeaysTqPo)。 – twelve17 2014-04-08 12:05:47