【问题标题】:Poor performance on Azure web apps when scaling out横向扩展时 Azure Web 应用性能不佳
【发布时间】:2019-09-06 06:04:29
【问题描述】:

在横向扩展时,我在 Azure Web 应用程序上的体验很差。 Azure 会自动从我设置的一组规则中找出问题(例如 CPU > 80% 持续 5 分钟)。然后它将 VM 的数量增加 1。这是 Azure 上设置的屏幕截图:

这部分工作正常。但是,当它扩展到一个额外的虚拟机时,我在整个网站上都遇到了糟糕的性能。当新 VM 启动并运行时,一切似乎都按预期工作。

我之前在scaling up and down the VM size 时观察到类似问题,但这“只是”一个新虚拟机。

我已经尝试在我的Web.config 中创建应用程序初始化:

<applicationInitialization doAppInitAfterRestart="true">
  <add initializationPage="/" />
</applicationInitialization>

横向扩展时性能仍然很差。有谁知道这可能是由什么引起的?我不希望网站在扩展时表现更差。我知道当 VM 达到 80% CPU 时性能可能不是那么好。但是一旦 Azure 开始扩展,性能肯定会变差。

【问题讨论】:

    标签: azure azure-web-app-service azure-app-service-plans


    【解决方案1】:

    请确保 scale out\in 之间的余量不小。我见过自动缩放摆动是问题的案例。

    为了避免“摇摆不定”的情况,即缩小和扩大操作不断来回进行。建议在扩展阈值和输入阈值之间选择足够的余量。

    只需添加一些最佳实践指南,供您查看指标阈值。

    确保最大值和最小值不同并且它们之间有足够的余量 - 例如 - 如果您的设置最小值 = 2、最大值 = 2 并且当前实例计数为 2,则不会发生缩放操作。在最大和最小实例计数之间保持足够的余量,包括在内。自动缩放始终在这些限制之间进行缩放。

    始终使用执行增加和减少的扩展和缩减规则组合 - 如果您只使用组合的一部分,自动缩放将仅在单个方向(向外或向内)执行操作,直到它达到配置文件中定义的最大或最小实例计数。 这不是最优的,理想情况下,您希望您的资源在高使用率时扩展以确保可用性。同样,在使用率低时,您希望资源缩减,以便实现成本节约。我建议您查看本文档Autoscale best practices 中概述的指标和示例的阈值,如果有帮助,请告诉我们。

    【讨论】:

    • 谢谢。我已经用应用服务规模设置的屏幕截图更新了帖子。看起来您的答案中的所有要求都已得到满足。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-08
    • 2021-10-13
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    相关资源
    最近更新 更多