S3直接上传性能

S3 direct upload performance

所以我面临是直接上传到 S3 还是通过我的服务器代理图像然后再上传到 S3 的选择。

我确实需要在图片上传后对其进行处理,创建缩略图和不同的版本。

所以,简而言之,我想知道哪种方法更好,之前可能已经这样做过。

选择1.直接上传到S3

选择2.通过服务器上传

看这个,直接上传到S3似乎比先通过我的服务器上传要慢。但是,当直接转到 S3 时,初始上传给服务器带来的负载是否超过了额外的下载步骤?

是否还涉及其他因素,例如每种情况下的网络性能等?

关于性能,直接上传到S3是更好的解决方案。原因是S3具有很强的可扩展性,也就是说:如果使用一个线程向S3上传文件,速度为1M/s,如果使用10个线程,速度将在10M/s左右。

对于你的问题,如果你有很多用户同时上传文件,S3可以处理这些请求,性能较低personality.As直接上传文件到服务器,它需要你的服务器可以处理很多同时请求,如果您的实现是可销售的,它可能有机会在性能上击败 S3。

但是解决方案 1 的成本更高,因为它有更多的交易,而且还有数据传出。

直接上传到 S3 的一个问题是您上传到存储桶的位置,而您的服务器可能分布在世界各地的多个位置。 (例如,如果您 运行 您的服务器位于多个 EC 2 区域)。在这种情况下,您会发现与直接访问 S3 相比,访问服务器的延迟更低(传输速率更高)。

此外,如果您将数据传输到同一区域 EC2 上的服务器 运行,则可能不会从 S3 中转出费用。否则 Matt 是对的 - 您需要为从 S3 传输数据支付 0.02 美元 - 0.25 美元/GB。

麦克

我是一个使用 S3 存储的大项目的成员。

S3上传官方不是100%完美

重要的是你是否选择了你提到的其中之一。 因为每一种都有不同的优点和缺点。

You should choose first one if you want to make overload in client side instead of server side because of some reason like 1. Server is low spec or busy 2. There are huge upload files in huge clients side. 3. Customer want to know the result of upload immediately and want to do next action with uploaded files. But you should make strong error handling logins in upload program. Otherwise, you might be suffered from customer's complain.

.

You should choose second one if you want to have higher reliability of uploading process in terms of structure or development environment. Because S3 uploading is HTTP protocol so it is very slow and sometime it may make overload in upload side. If there are some abnormal cases in client side like stopping upload or network problem, you might get into problem handling the situation. So it is stable to upload files in server side again because error handling is essential as amazon mentioned below link.

http://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html URL提到"When designing an application for use with Amazon S3, it is important to handle Amazon S3 errors appropriately ..."

另外,我建议您仅使用 Amazon 的官方 API 来处理错误,而不是使用插件或 S3 应用程序。 :)