Azure负载平衡器在超时后拒绝请求

问题描述:

我在调查从AWS切换到Azure,并已开始运行有关负载平衡器级别默认4分钟超时的一些问题。他们似乎最近做了一些更改,现在您可以将此值最多配置为30分钟(http://azure.microsoft.com/blog/2014/08/14/new-configurable-idle-timeout-for-azure-load-balancer/),但这不是重点。Azure负载平衡器在超时后拒绝请求

当我尝试将我的hg存储库克隆到我的VM实例时,该问题目前正在显现。回购是相当大的,大约15分钟到克隆,传输完成,所有网络活动停止,回购处理开始,我几乎立即得到以下错误信息:

“abort:error:连接尝试失败因为连接方在一段时间后没有正确响应,或建立连接失败,因为 连接的主机未能响应“

我假设这是由于LB超时发生的,虽然我本来预计它会发生hg克隆网络活动停止后4分钟,而不是之后立即。

的有关部分(与我的问题的核心)是后我收到此错误信息,我马上尝试再次克隆,我立即再次得到以下信息:

“中止:错误:连接尝试失败,因为连接的方没有正确一段时间后响应或已建立的连接失败,因为 连接的主机未能响应”

的LB似乎立即拒绝了我的请求发生超时后!如果我等待10-20分钟,我可以尝试再次克隆。如果我猜测,也许这是一个反DOS'ing机制? 我的问题是:

  • 我的推测是否正确?
  • 有什么我可以做的,以在发生超时后立即修改这种“拒绝/阻塞”行为?
  • 是否有其他人在超时发生后立即看到这种“拒绝/阻止”行为?

对我工作的项目主要用例涉及上传大文件(最大100MB),如果客户端超过分配的超时窗口,我不希望被访问我的服务阻止他们。

我建议重新检查所有参与负载平衡的机器。这听起来像负载平衡器确定传入数据包是一个新的对话,这会引发主机选择,并通常会将您发送到您正在与之通话的机器以外的机器,但是一些参与LB的主机不会侦听正确的端口为您服务。如果服务级别的监控已经配置完成,服务级别的监控应该会抓住这一点,但是您提到这是一个新的实现。

上面描述的使用模式也可以通过第一次获得一台好机器,然后是一台坏机器进行回购处理,然后在重试时出现坏机器来解释。

+0

只有一台机器会为LB后的这个VIP做出回答。我指的负载均衡器是Microsoft Azure数据中心内部的路由到我的VM实例的负载均衡器 - 我无法控制有问题的LB。 – jpatapoff 2014-09-24 19:36:56

+0

如果只有一个VIP参与者,并且其连接策略似乎在改变,那么您的手中就有一个悖论。有时间重新审视基本假设 - 如果您可以到服务器上接听这些电话并获得此体验的网络追踪,您将能够看到第二次连接进行回购处理是否真的去了那台机器。如果不是这样,您仍然不知道流量即将到达哪里,但一旦拿到证据,您就可以通过Azure支持提出问题。 – Niali 2014-09-25 21:09:08

+0

你有什么建议来捕捉这个痕迹? Traceroute在Azure数据中心中被禁用。 (和平......我不知道为什么这些决定是由Azure建筑师做出的,但除此之外) – jpatapoff 2014-09-25 21:16:57