【问题标题】:Azure http load balancing not working correctlyAzure http 负载平衡无法正常工作
【发布时间】:2013-11-14 20:23:35
【问题描述】:

我有几个 Web 服务器在 Azure 的同一网络中运行我们的网站,在端口 80 HTTP 上进行负载平衡,以便来自 Visual Studio 2010 Ultimate 的网站负载测试将循环命中两者之一。但是,大部分工作总是由同一台服务器完成,大约是 80/20 拆分,导致一台服务器过载。我们已将 asp 状态会话配置为服务器 1,服务器 2 正在接收大量 http 请求(不确定是否相关)

我为位于网站层下方的 Web 服务服务器(尽管没有状态会话服务器)提供了类似的配置,并且它们的负载平衡良好(50/50 拆分)

有什么我错过/需要注意的吗?

【问题讨论】:

  • 可能是因为keep-alive? stackoverflow.com/a/17723766/57428
  • 有关信息 - 这一切都在 Azure 中的虚拟机上完成。
  • 嗯,如果他们使用相同的 DNS 名称,那么他们很容易出现那里描述的保持活动的副作用。
  • 是因为keep-alive,IIS7默认开启的。
  • 无论如何,不​​要忘记关闭保持活动状态并不总是一个好主意。

标签: asp.net http azure load-balancing round-robin


【解决方案1】:

in this answer 所述,大多数负载平衡方案都容易出现默认情况下启用 IIS 保持活动的副作用。一旦在某个客户端和某个服务器实例之间在 TCP 级别建立了连接,相同的连接将被重用,直到它在 TCP 级别中断(例如,由于服务器或客户端关闭),然后它将重新建立到同一台服务器或另一台服务器。这就是keep-alive的工作原理,它是设计使然,在大多数现实世界的情况下,我通常都很好。如果您只是想首先测试负载平衡是否有效,您可以考虑在 IIS 中仅针对测试场景关闭 keep-alive。

【讨论】:

    猜你喜欢
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 2017-04-02
    • 1970-01-01
    • 2020-11-28
    • 2010-11-04
    • 1970-01-01
    相关资源
    最近更新 更多