横向扩展 Azure 应用服务太慢
Posted
技术标签:
【中文标题】横向扩展 Azure 应用服务太慢【英文标题】:Scaled out Azure App Service too slow 【发布时间】:2017-09-28 15:42:26 【问题描述】:当我尝试横向扩展我的 Azure Web 应用程序时,我发现应用程序的第二个或第三个实例上的请求响应时间非常慢。 这似乎是因为其他实例处于冷模式,并且一旦负载均衡器将请求重定向到它们就必须切换到热模式。
问题是,在我的场景中,大多数时候系统上并没有发生太多事情,所以可能只有一个实例会通过负载均衡器使用,但每天大约有四次出现峰值,我需要更多不止一个实例。但是,如果这些实例处于冷模式并且必须先唤醒,这实际上会使事情变得更糟。
问题是怎么办?
我已将应用设置为“始终开启”,并将 ARR Affinity 设置为“关闭”。
在过去,即使应用程序设置为“始终开启”,我的应用程序进入某种睡眠模式时也遇到过问题。我通过设置每小时调用应用程序的调度程序任务解决了这个问题。但我认为这不再适用于多个实例,因为该任务只会调用一个实例,而其他实例仍将保持睡眠模式。
有什么建议吗?
【问题讨论】:
冷实例最初响应缓慢,然后在预热后以可接受的速度运行的问题?还是实例仍然缓慢? 这很难说,因为我不确定哪个实例在响应。但至少感觉冷实例只是最初反应迟缓。 这里是关于让 Azure 在插槽交换期间点击各种 URL 以预热实例的文档:github.com/projectkudu/kudu/wiki/Understanding-site-swaps。我无法找到关于在自动横向扩展期间启动实例时究竟会发生什么的权威文档。我猜这可能是有效的。 【参考方案1】:考虑启用日志记录以调试哪些实例正在接收请求以及为什么这些请求很慢。
对于一天大约四次的评论,您需要不止一次的实例 - 考虑在您的应用服务计划中设置 Autoscale 和重复配置文件以自动扩展。您可以根据一天中的时间设置具有不同实例计数的自动缩放规则。
【讨论】:
以上是关于横向扩展 Azure 应用服务太慢的主要内容,如果未能解决你的问题,请参考以下文章
Azure VM 上的 s-s-rS 2016 横向扩展不起作用