2016-08-20 81 views
0

我正在研究JavaScript中的異步上傳器,旨在高效地向我們的服務器發送多千兆字節的文件。它使用JavaScript的FileReader一次對文件5MB塊進行分片,並同時發送5個塊。優化上傳:請求發送

似乎瓶頸是獲得數據到服務器:

enter image description here

如在上面的圖片所示,花了大約2分鐘的塊到達服務器。然後服務器只需要3秒鐘來處理它。

我的上傳速度大約是1mbps,但是我可以上傳相同的400MB文件(測試視頻)到YouTube上,比使用這個上傳器快幾倍。

問題

  • 期間Request sent在2分06秒時到底正在發生什麼?
  • 在這個階段可以做些什麼來加快速度?
    • 我試着試着發送數據作爲原始二進制(FileReader.readAsBinaryString)VS編碼(〜大40%的有效載荷只是泥包吧)的base64,在我的情況沒有明顯的好處
    • 由於我使用AWS/S3,最小有效載荷大小必須5MB

回答

0

究竟是在「請求送」的2分06秒時發生的事情是什麼?

連接已被設置,所以唯一發生的事情是將數據傳輸到服務器。

在這個階段可以做些什麼來加快速度?

恐怕這對Stack Overflow來說太寬泛了。自己研究這個主題,嘗試一下,如果遇到任何特定的問題,請隨時在這裏提問。