Amazon Elastic Load Balancer(ELB)URL未通过附加到其上的实例解析

时间:2013-08-31 23:57:35

标签: wcf amazon-web-services amazon-ec2

我们正在使用Amazon Web Services EC2创建两个服务器,然后将其连接到Elastic Load Balancer(ELB)。实例最终使用负载均衡器本身的URL来请求WCF服务。

在少数情况下,实例无法在10分钟内解析负载均衡器的URL,然后才能正常工作。以下是我们的工作:

  1. 我们创建了一个负载均衡器
  2. 我们在同一区域中创建两个实例
  3. 我们将实例连接到负载均衡器,我们等待它们都准备就绪(即能够处理请求)。
  4. 有时,一旦我们开始测试,连接到负载均衡器的实例就无法解析负载均衡器的URL。大约10分钟后才能解析名称。这是我们得到的错误:

      

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

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

1 个答案:

答案 0 :(得分:0)

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