【发布时间】:2015-10-16 10:13:42
【问题描述】:
我正在使用 EC2 和 S3 创建图像上传服务。
用户使用 PHP 将图像上传到 EC2。 EC2 上传到 S3,然后 EC2 用图片链接回复用户。
我想知道同一区域的 EC2 和 S3 之间的上传速度有多快。
将图片临时存储在EC2上,先响应用户然后上传到S3,还是等待上传完成后再响应用户会更好?
【问题讨论】:
我正在使用 EC2 和 S3 创建图像上传服务。
用户使用 PHP 将图像上传到 EC2。 EC2 上传到 S3,然后 EC2 用图片链接回复用户。
我想知道同一区域的 EC2 和 S3 之间的上传速度有多快。
将图片临时存储在EC2上,先响应用户然后上传到S3,还是等待上传完成后再响应用户会更好?
【问题讨论】:
我想知道同一区域的 EC2 和 S3 之间的上传速度有多快
速度很快。测试一下。
您应该会发现您可以非常快速地将图像上传到 S3,然后将 S3 URL 返回给客户端,客户端将立即能够获取图像。
警告:如果您在同一路径上覆盖 S3 对象,而不是创建新对象,则在您上传对象之后,在每次请求一致返回新对象之前可能会有延迟。由于 S3 的最终一致性模型,这种延迟不太可能,但可能。删除也是同样的方式——在对 S3 的请求返回 404 或 403 之前,已删除的对象可能仍然是可获取的。
如果您在美国标准 (us-east-1) 区域工作,请参阅 What is maximum Amazon S3 replication time on file upload? 并注意应对端点进行的更改,以确保立即保持一致。
【讨论】:
会很快;用户和您的 ec2 实例之间的延迟将远大于 ec2 和 s3 之间的延迟。
另一方面,如果 ec2 在上传到 s3 之前没有对图像做任何事情,为什么不直接上传到 s3 呢?
【讨论】: