簡體   English   中英

處理多個並發大型上傳

[英]Handling Multiple Concurrent Large Uploads

我在Laravel中創建了一個API,允許用戶上傳包含圖像的zip存檔。

上傳檔案后,會將其發送至S3,然后由另一項服務進行處理以進行處理。

我發現,使用更大的檔案,PHP會不斷達到內存限制。 我知道我可以提高限制,但感覺就像一個滑坡,特別是當我想象多個用戶上傳大文件時。

我目前的解決方案是完全放棄我的服務器並允許客戶端直接上傳到S3。 但這種感覺非常不安全,容易受到垃圾郵件/ DDOS的攻擊。

我想我真正希望的是討論如何優雅地處理這個問題。

有沒有更適合這種處理/並發的語言? 我可以很容易地將上傳過程產生於其他東西。

我關於S3的問題是否沒有根據? 我知道需要簽名的請求,但生成的令牌是可重用的,因此它們是可利用的。

在線資源談論NGINX是一個更好的解決方案,因為它有一個上傳模塊可以直接將上傳內容寫入文件,因為apache似乎試圖在內存中做很多事情(不是100%肯定這一點)。

如果我誠實的話,我對整個PHP上傳過程都不太清楚。 請求是否直接存儲在內存中? 即10個50mb的上傳會導致我的500mb RAM的內存限制異常

感謝大家的討論。 在查看PHP Post / Upload過程之后,它清理了一些事情。

更新SDK似乎消除了那些初始內存限制問題。

當然我還在研究並發問題,但我覺得這比我的語言更像是一個apache / nginx / server配置/規范優化問題。

感謝大家!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM