2016-12-02 150 views
1

現在,我有一臺服務器接受媒體流並記錄到mp4文件,並上傳到s3,當併發級別很高時,我發現它是s3上傳的哪個花費了大多數CPU,當我監控IO時,我也發現CPU的成本隨着IO的變化而變化,並且IO(輸出)速率不穩定。aws s3上傳優化,使用java sdk

所以我想知道是否有退出一些方法,我可以用來控制上傳速度s3?例如,當第二個IO速率太高時,我會減慢它的速度,因此它可以在每秒之間分割總文件。而且我也想知道如果降低CPU成本是可行的。

我希望有人能幫助我,謝謝並原諒我因爲我的英語不好。

回答

1

AWS S3不提供任何減緩傳輸速度的解決方案,但是,您可以嘗試使用multipart uploads(中文)將上傳轉換爲多個併發流。這可能會使您的上傳更易於管理。你不能使用這種技術的文件小於5MB的每個上載部分

注意必須至少爲5MB(除了最後一部分)。感謝@邁克爾 - 將用於校正sqlbot)

(你的英文很好,我可以懂你)

+0

不能使用的文件的技術<5MB。它的工作原理,但只會導致更多的開銷,因爲一個文件<5MB只能在一個部分上傳。你在哪裏看到100 KB? –

+0

你說得對。我以某種方式穿過了電線。我更新了答案。謝謝! – otakumike

+0

謝謝,我以前試過,但用這種方法我剛剛發現我不能awared,當上傳完成後(我用S3ProgressListener被awared那是否上傳完成,但是當我使用多上傳,我發現當每個段傳輸完成時,傳輸事件變爲TRANSFER_COMPLETED_EVENT,並且我不確定一個文件的總數),順便說一句,你怎麼知道我是中國人(我猜是我的名字^ _^..) ? –