我有一个ARR Web场中的3个IIS Web服务器。 当我们进行滚动发布时,我们将一台服务器作为备份服务器离线,并将其移入“不可用状态”。我注意到,使用ARR时,服务器不会停留在这种状态…几小时或几天后,它们会自动重新联机。 有谁知道如何弥补这种情况? 这是非常糟糕的,因为closures的服务器通常不会运行我们的代码的正确版本。
我需要保持服务器不可用,直到我告诉它,否则。
我会build议configuration一个运行状况testing来检查版本到你想运行的代码的版本。 当您进行更改时,只需更改响应匹配。 您还应该禁用维护窗口的服务器上的新连接 。 这将closures连接,不pipe服务器的健康状况如何,都不允许连接
我在Windows 2008 R2 Datacenter SP1上运行ARR 2.5,并通过select“禁止新连接”或“立即使服务器不可用”转换服务器场服务器时遇到同样的问题。 控制器将最终将服务器场服务器恢复为可用状态。 我检查了受影响的服务器上的访问日志,有一次,它变得可用,并在2小时后开始提供请求。
关于Jim B的解决scheme,我有一个问题。 如果您将正确的代码部署到主服务器,并且在下次检查之前不configuration运行状况testing,则使用新运行代码供应的所有服务器场服务器将被标记为不健康,在大多数情况下,这些都是服务器场中的所有服务器。 我不明白即使是农场服务器健康的瞬间失效也值得这个解决方法。 如果我错过了图片,请让我知道。
我以为我会很聪明,首先将农场服务器设置为不健康,然后将其设置为不可用。 服务器立即变得不可用,健康。
就我个人而言,确保服务器场服务器不会自动变为可用状态的唯一方法是,在您确实已确认连接已经耗尽后,将其完全从负载平衡中移除。
无论如何,这似乎是一个错误。 我无法确定某个特定的服务器场服务器是否会在我尝试漏斗时处理会话stream量(例如,更新和重新启动)。
我想出了什么时候(而不是为什么)发生这种情况 – 以及如何解决这个问题!
当负载平衡器上的默认网站(ARR进程)的应用程序池被终止或回收时,会发生这种情况。
按照微软的build议,并设置应用程序池空闲超时= 0: 微软推荐的ARR设置指南