我相信亚马逊Simple DB的最大PUT请求是300?
当我向其投掷500或1,000个请求时会发生什么?它在亚马逊方面排队,我得到504或者我应该在EC2上建立自己的排队服务器吗?
答案 0 :(得分:6)
最大请求量不是固定数量,而是多种因素的组合。有一个每域限制策略,但似乎有一些空间在限制攻击之前突发请求。此外,每个SimpleDB节点处理许多域,每个域由多个节点处理。处理请求的节点上的负载也会影响最大请求量。因此,您可以在非高峰时段获得更高的吞吐量(通常)。
如果您发送的请求多于SimpleDB愿意或能够提供的服务,您将获得503 HTTP代码。 503服务不可用的响应是正常的,应该重试。 SimpleDB中没有请求排队。
如果您想获得绝对最大可用吞吐量,您必须能够(或拥有可以的SimpleDB客户端)微管理您的请求传输速率。当503响应率达到大约10%时,您必须退回请求卷,然后重新构建它。此外,跨多个域分布请求是扩展的主要方法。
我不建议在EC2上构建自己的排队服务器。我会尝试让SimpleDB直接处理请求量。额外的一层可以使事情变得平滑,但它不会让你处理更高的负荷。
答案 1 :(得分:2)
我会将Netflix所做的工作用作高吞吐量写入的灵感: http://practicalcloudcomputing.com/post/313922691/5-steps-simpledb-performance