2010-10-06 86 views
2

我們希望在2到3分鐘內提供數千次上傳。大部分上傳量將大約爲20 - > 200 Mb。 從技術上講,我覺得上傳已經沒有太大的做Rails的,而是網絡服務器(Apache的/ Nginx的),所以只要服務器能夠處理的併發請求,那麼有沒有爲Rails應用程序做大量的工作(除移動文件保存到正確的存儲並創建數據庫記錄以跟蹤文件)。Rails應用程序可以處理多少個併發上傳

是我的假設嗎?通常,單個Rails應用程序進程可以預期處理多少個併發上傳? (考慮到Rails應用程序可能需要20毫秒,所有的計算,移動文件,並創建數據庫記錄,但連接必須1分鐘保持活動,使文件可以成功轉)

回答

5

不是真的,但接近。單個rails應用程序實例一次只能處理一個請求,但使用nginx和passenger或mongrels以及負載平衡器的服務器很容易使用這些實例。

您應該創建一個負載測試,以確認您的任何假設。

我會用捲曲來模擬用戶10/100/1000使用多個進程和調整上傳速度慢模擬客戶看到它如何影響你的表現上傳幾百兆。測量10個併發請求的響應時間並記錄並觀察結果。

你可以使用nginx的上傳模塊,並通過通軌,如果你可以,如果沒有什麼幫助。總是測試你的假設。

+0

這很有趣。你介意讓我更多地使用curl來測試上傳嗎? – 2010-10-08 11:10:50

+0

看看curl-loader http://curl-loader.sourceforge.net – abdollar 2010-10-08 19:21:57

相關問題