2011-03-08 28 views

回答

7

Ruby on Rails處理併發請求的時間越少,因爲它是運行處理併發請求的Ruby on Rails的服務器。當我說運行Ruby on Rails的服務器時,我指的是例如Phusion Passenger,Mongrel或WEBrick與Apache或Nginx結合使用。在大多數情況下,通過啓動多個分別處理請求的Ruby on Rails應用程序來實現併發。雖然這可能比真正的線程方法需要更多的內存,但它並不要求Ruby on Rails開發人員編寫線程安全的代碼。

+0

謝謝。有沒有關於啓動多個Rails應用程序的教程? – Shuo 2011-03-08 21:54:59

+0

這取決於您要使用的服務器和您使用的操作系統。我建議您閱讀Phusion Passenger文檔,因爲它還包含有關使用Apache和Nginx運行乘客的文檔。 – 2011-03-08 22:03:06

0

您需要在像JRuby這樣的線程Ruby上運行像Puma這樣的線程服務器。否則,它只是服務器創建進程而不是線程,如緩衝乘客。當然,你需要編寫線程安全代碼,這很難開發和維護。出於這個原因,大多數人堅持使用單線程解決方案,儘管默認情況下Rails 4是多線程的,所以我們在不久的將來可能會看到趨勢的變化。