有没有人达到过 Amazon S3 存储桶的读取或写入上限?

Posted

技术标签:

【中文标题】有没有人达到过 Amazon S3 存储桶的读取或写入上限?【英文标题】:Has anyone ever reached a read or write upper-bound for an Amazon S3 bucket? 【发布时间】:2012-02-22 00:52:38 【问题描述】:

S3 扩展是否存在已知限制?任何人都曾有过如此多的同时读取或写入,以至于存储桶开始返回错误?我对写入比对读取更感兴趣,因为 S3 可能针对读取进行了优化。

【问题讨论】:

Amazon S3 每秒处理数十万个请求 (aws.typepad.com/aws/amazon_s3)。每个桶的对象数量没有限制,所以我怀疑桶级别有任何并发​​限制。 仅供参考,我刚刚在不到 15 天的时间内上传了超过 1000 万个文件,有 30 个并发线程。没有遇到任何限制/问题。 我正在处理的项目遇到了这个问题,Aws s3 错误地说“减慢您的请求率”。我正在研究读/写请求随着 CSV 数据中行数的增加而增加的项目。我在 50M 行数据中遇到了这个错误。任何帮助将不胜感激。 【参考方案1】:

Eric 的评论已经在概念层面上进行了总结,FAQ What happens if traffic from my application suddenly spikes? 中也提到了这一点:

Amazon S3 的设计初衷就是为任何 互联网应用。 [...] Amazon S3 的大规模使我们能够 均匀分布负载,因此不会影响单个应用程序 流量高峰。

当然,您仍然需要考虑可能的问题并调整 [您的] 应用程序以解决重复的减速错误(请参阅 Amazon S3 Error Best Practices):

与任何分布式系统一样,S3 具有保护机制 检测有意或无意的资源过度消耗和 做出相应的反应。 请求率高时可能会出现减速错误 触发其中一种机制。 降低您的请求率将 减少或消除此类错误。 一般来说,大多数 用户不会经常遇到这些错误;但是, 如果您 想要更多信息或正在经历高涨或意外 减速错误,请发布到我们的 Amazon S3 开发者论坛 http://developer.amazonwebservices.com/connect/forum.jspa?forumID=24 或注册 AWS 高级支持 http://aws.amazon.com/premiumsupport/。 [强调我的]

虽然很少见,但这些减速确实会发生 - 这是一个 AWS team response 说明问题(虽然已经过时了):

当请求率足够高时,Amazon S3 将返回此错误 服务请求会导致其他服务的降级 顾客。这个错误很少被触发。 如果您收到 它,你应该以指数方式后退。如果出现此错误,系统 资源将被动地重新平衡/分配,以更好地支持 更高的请求率。因此,在此期间 抛出的错误应该相对较短。 [强调我的]

您关于读取与写入优化的假设也在那里得到证实:

触发此错误的阈值会有所不同,并将取决于 部分,关于请求类型和模式。一般来说,您将能够 获得更高的 rps 与看跌期权和大量获得 少量键与大量键的大量获取。 获取或放置大量密钥时,您将能够实现 如果密钥按字母数字顺序与随机/散列顺序排列,则 rps 更高 顺序。

【讨论】:

以上是关于有没有人达到过 Amazon S3 存储桶的读取或写入上限?的主要内容,如果未能解决你的问题,请参考以下文章

如何授予 Amazon SES 写入您的 Amazon S3 存储桶的权限

动态获取 Amazon S3 存储桶中文件的大小

启用版本控制后,Amazon S3 对存储桶请求的 HTTP 503 响应显著增加

Amazon CloudFront 不遵守我的 S3 网站存储桶的 index.html 规则

指向 Amazon S3 存储桶的子域在英国不起作用

向 Amazon S3 存储桶授予权限