首页 文章

如何在App Service Plans上的多个实例之间 balancer 多个网站?

提问于
浏览
3

我们在 single app service plan 上托管 3 separate websites . 此计划配置为运行 3 small instances (S1) . 我理解这意味着3个独立的服务器,每个服务器有1个CPU .

如果三个网站中的 only one 经历了非常高的流量 from a single source (另一个非现场服务器),那么3个实例的负载如何 balancer ?

所有请求是循环还是全部尝试转到单个实例?我该如何控制或测试?

当有其他网站时,单个网站是否仅限于单个实例上可用资源的一小部分/一部分?

运行多个单CPU实例与使用Azure网站的多个CPU的单个实例有什么好处? (除了可用性)

我们试图加载测试其中一个站点,当我们只关闭一个站点而另外两个没有流量时,它似乎从不使用超过10-15%的CPU . 这让我怀疑负载 balancer .

1 回答

  • 6

    你的第一段是正确的 . 您将为您的站点分配3个S1服务器 .

    每台服务器将托管所有3个站点 . 对任何站点的请求将随机路由到任何服务器 .

    但是,默认情况下启用粘性会话,这意味着单个客户端将始终为同一站点命中同一服务器 . 因此,如果一个客户端真的在锤击一个站点,那么所有负载都将转移到一个服务器上 .

    您可以通过禁用站点的ARR的Instancy Affinity来禁用此行为 . 您可以通过在web.config文件中设置自定义标头Arr-Disable-Session-Affinity = false来实现 .

    更详细的说明:https://azure.microsoft.com/blog/2013/11/18/disabling-arrs-instance-affinity-in-windows-azure-web-sites/

相关问题