我們的Rails 4應用程序運行在一個thin -s 16 ...
多處理服務器中,Apache作爲前端,其反向代理處理內部請求。所有的工作都很好,對我們的用戶數量來說性能還可以。如果與Rails/ActiveRecord一起使用,它是否很簡單?
因爲一切正常,所以我真的不在乎Thin是如何工作的。我最近偶然發現了所有的Fibers和EventMachine的優點,並且在其中閱讀了很多。
Thin使用EventMachine處理Rack請求。因此,通過設計,它可以同時處理多個請求並使用一個ruby進程。不幸的是,雖然Thin文檔功能足以讓您能夠在幾分鐘的時間內運行服務器,但對內部工作而言卻相當安靜。
我是否正確地認爲所有關於「併發性」的討論都是在我運行Thin with Rails時沒有提及? ActiveRecord,數據庫驅動程序,模板處理等可能不是EM啓用的,不使用Fibre等,因此無論如何將阻止單個進程,同時使用大部分DB重的服務器端處理時間應用。
我的所有研究似乎都導致了這個結論;不幸的是,薄網站/文檔沒有提到這一點。坦率地說,我很困惑「併發」這個詞甚至是如何在這裏輸入圖片...
有人可以爲我清楚嗎?我是否缺少一些基本的信息,或者是否在http://code.macournoyer.com/thin/上吹捧的「併發性」,意指關於手動製作的不使用Rails或其他「重度」中間件的Rack服務器?
謝謝!
感謝您確認我的懷疑。 – AnoE