2017-06-07 60 views
0

我正在開發一個django應用程序,它可以定期處理來自多個客戶端的大量文件上傳。每個文件大約1到10兆字節。Django - 一次處理幾個文件上傳請求?

由於上傳是線程阻塞,我只能提供一些相當於uwsgi workers/processes數目的請求(在我的情況下爲4)。

我應該怎麼做才能提高吞吐量?

建議增加uwsgi中的進程/工作者數量嗎?
什麼應該是上限?
我可以在這種情況下使用其他解決方案嗎?

堆棧:django + uwsgi + nginx運行於亞馬遜ec2和s3存儲區,用於存儲zip文件。

回答

0

什麼應該是上限?

這取決於你的硬件如服務器

核心的數量有沒有我可以在這種情況下使用任何其他解決方案?

考慮使用芹菜/ rabbitMQ。 Celery可用於異步處理文件或上傳到S3並將事件通知rabbitMQ

1

您需要使用異步任務隊列一次上載多個文件。 這些任務可以異步執行(在後臺)

我正在使用芹菜/ Disque來獲得相同的結果。

閱讀有關DISQUE here

您可以通過

pip install django-queued-storage 

做更多參考here