2016-12-02 152 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,并且我不确定一个文件的总数),顺便说一句,你怎么知道我是中国人(我猜是我的名字^ _^..) ? –