我们有一个目前在 Amazon Ec2 中的系统。我现在使用 Amazon ELB 在 2 个区域中的 12 个实例之间进行负载平衡。我一直在运行一些具有不同特征的负载测试:
1) 在 60 分钟内同时用户从 0 增加到 10,000。2) 阶梯式斜坡从 2,500 开始 15 分钟,到 5,000 持续 15 分钟,到 7,500 持续 15 分钟,到 10,000 持续 15 分钟。
在这两种情况下,我的服务器占用大约 20-30% 的 cpu,10-15% 的网络,并且似乎运行良好,我们的应用程序按预期记录所有内容,并且在整个测试过程中在机器上的响应速度非常快。我在这些机器上的每秒流量请求似乎非常棘手,并表现出一些奇怪的行为。一个例子是区域 1 中的服务器每秒将丢弃 200-400 个请求,而区域 2 中的服务器将同时每秒增加 200-400 个请求。所有这一切,同时仍然反应良好。
但是,我从外部负载测试中看到的结果却大不相同。我看到很多超时和连接重置错误。那些超时和连接错误也有些棘手,这意味着我会在没有错误的情况下运行 5 分钟,然后得到一点点洪水,然后又恢复到零。
我怀疑 ELB 可能正在重新平衡或导致某些这种行为。我确实尝试转向运行 HAPRoxy 的真正强大的硬件。这似乎解决了负载测试斜坡低端的一些问题,但随后似乎网络不足,并且每秒无法超过 5-6K 的请求。
我想知道是否有人对 Amazon ELB 行为有任何了解?另外,如果有任何解决方法吗?这可能包括完全不同的解决方案......
谢谢,
迈克
amazon-ec2 ×1