2010-11-27 61 views
3

我相信亚马逊的简单数据库的最大PUT请求是300?亚马逊SDB - PUTS每秒限制解释?

当我向它发出500或1000个请求时会发生什么?它是否在亚马逊上排队,我是否得到504或者我应该在EC2上构建自己的排队服务器?

回答

6

最大请求量不是固定的数量,而是多种因素的组合。每个域都有一个限制策略,但在限制开始之前似乎有一些突破请求的空间。另外,每个SimpleDB节点都处理多个域,每个域都由多个节点处理。处理请求的节点上的负载也有助于您的最大请求量。因此,您可以在非高峰时段获得更高的吞吐量(通常情况下)。

如果您发送的请求比SimpleDB愿意或能够提供更多请求,您将获得503 HTTP代码。 503服务不可用的响应是照常营业,应该重试。 SimpleDB中没有请求排队。

如果你想获得绝对最大可用吞吐量,你必须能够(或者有一个SimpleDB客户端)微观地管理你的请求传输速率。当503响应率达到10%时,您必须退出您的请求量,然后再建立备份。而且,将请求分散到多个域是缩放的主要手段。

我不会建议在EC2上构建自己的排队服务器。我会试着让SimpleDB直接处理请求卷。一个额外的层可以平滑事情,但它不会让你处理更高的负载。

+0

伟大的答案,谢谢! – leonthelion 2010-11-30 04:07:31