如何让 Amazon ELB 处理大型交通坡道?

如何让 Amazon ELB 处理大型交通坡道?

我们有一个目前在 Amazon Ec2 中的系统。我现在使用 Amazon ELB 在 2 个区域中的 12 个实例之间进行负载平衡。我一直在运行一些具有不同特征的负载测试:

1) 在 60 分钟内,同时在线用户数从 0 增加到 10,000。 2) 呈阶梯状增加,开始时为 2,500 人,持续 15 分钟,然后是 5,000 人,持续 15 分钟,然后是 7,500 人,持续 15 分钟,然后是 10,000 人,持续 15 分钟。

在这两种情况下,我的服务器 CPU 使用率约为 20-30%,网络使用率约为 10-15%,似乎表现良好,我们的应用程序按预期记录所有内容,并且在整个测试过程中机器上的响应非常快。这些机器上的每秒流量请求似乎非常高,并且表现出一些奇怪的行为。例如,区域 1 中的服务器每秒将减少 200-400 个请求,而区域 2 中的服务器每秒将同时增加 200-400 个请求。所有这些都在响应良好的情况下进行。

但是,我从外部负载测试中看到的结果却大不相同。我看到很多超时和连接重置错误。这些超时和连接错误也有些频繁,这意味着我会在 5 分钟内没有错误,然后出现少量错误,然后一段时间内又恢复为零。

我怀疑 ELB 可能正在重新平衡或导致某些行为的原因。我确实尝试过转向运行 HAPRoxy 的真正强大的硬件。这似乎解决了负载测试坡道较低端的一些问题,但随后似乎导致网络匮乏,并且每秒的请求数无法超过 5-6K。

我想知道是否有人对 Amazon ELB 行为有任何见解?此外,是否有任何解决方法?这可能包括完全不同的解决方案...

谢谢,

迈克·D

答案1

回答我自己的问题。我偶然看到了这个帖子(https://forums.aws.amazon.com/thread.jspa?threadID=76834) 中隐晦地提到了 ELB Pre-Warm。我打电话给 Amazon AWS Support,他们说这确实是他们提供的一项服务,你只需要有一个支持计划(如果你想打电话给他们,那就选择黄金级)。他们为我设置好了一切,我能够在 5 分钟内成功运行负载测试,QPS 从 0 上升到 10K。

相关内容