1

我们正在使用 Amazon Web Services EC2 创建两台服务器,然后将它们连接到弹性负载均衡器 (ELB)。实例最终使用负载均衡器本身的 url 来请求 WCF 服务。

在少数情况下,实例在 10 分钟内无法解析负载均衡器的 url,然后它就可以正常工作了。总结一下我们所做的:

  1. 我们创建一个负载均衡器
  2. 我们在同一个区域中创建两个实例
  3. 我们将实例连接到负载均衡器并等待它们都准备好(即能够处理请求)。

有时,一旦我们开始测试,附加到负载均衡器的实例就无法解析负载均衡器的 url。大约 10 分钟后便能够解析名称。这是我们得到的错误:

---> System.Net.WebException:无法解析远程名称:'nightlyblb13083105564592203800-455163519.us-east-1.elb.amazonaws.com'

任何想法 ?我们添加了所有检查,以确保一旦我们开始使用负载均衡器,两个实例都准备就绪,并且我们非常有信心是这种情况,但是上述问题大约发生在 20 次测试中的 1 次。

4

1 回答 1

0

如果我正确理解您的测试框架,这很正常。ELB 的扩展方式是,它开始在一台非常小的机器上运行,随着流量的增加,它会被引导到越来越大的机器上。但是,ELB 未配置为处理闪存流量,尤其是来自少量主机的流量,负载测试场景就是这种情况。这是因为每当 ELB 扩展时 DNS 记录都会更改,并且有时需要一段时间才能传播。负载测试框架有时会缓存 DNS 查找,使事情变得更慢。官方 ELB 文档 ( http://aws.amazon.com/articles/1636185810492479 ) 指出,流量每 5 分钟增加不应该超过 50%。我发现如果您希望获得超过 150-200k RPM,则扩展需要更长的时间。

于 2013-10-30T10:12:52.203 回答