【问题标题】:Load test on Azure在 Azure 上进行负载测试
【发布时间】:2016-07-18 12:15:42
【问题描述】:

我正在使用 JMeter 在我的 Azure Web 服务上运行负载测试。 我在 S2 上使用 4 个实例扩展我的服务并运行 JMeter 4 个实例,每个实例有 500 个线程。

它开始完全正常,但一段时间后调用开始失败并给出超时错误(HTTP 状态:500)。

我检查了 azure 上的 HTTP 请求队列,发现在第二个实例上它非常高,而在两个实例上它非常

请帮助我成功完成负载测试。

【问题讨论】:

    标签: azure jmeter load-testing azure-cloud-services


    【解决方案1】:

    我假设您使用的是 Azure 应用服务。如果您检查您的应用程序的设置,您会发现 ARR 的 Instance Affinity 将默认启用。简要说明:

    ARR 通过给他们一个特殊的 cookie(称为关联 cookie)巧妙地跟踪连接的用户,这允许它在后续请求时知道他们正在与哪个服务器实例通信。这样,我们可以确定,一旦客户端与特定服务器实例建立会话,只要会话处于活动状态,它就会继续与同一服务器对话。

    这对于会话敏感型应用程序来说是一项重要功能,但如果不是您的情况,那么您可以安全地禁用它以改善实例之间的负载平衡并避免出现您所描述的情况。

    Disabling ARR’s Instance Affinity in Windows Azure Web Sites

    【讨论】:

      【解决方案2】:

      这可能是由于在 JVM 或操作系统级别缓存了网络名称解析,因此您的所有请求都只针对一台服务器。如果是这种情况 - 将DNS Cache Manager 添加到您的测试计划中,它应该可以解决您的问题。

      请参阅The DNS Cache Manager: The Right Way To Test Load Balanced Apps 文章以获得更详细的解释和配置说明。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-17
        • 2020-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-08
        • 2019-03-10
        • 2012-07-03
        相关资源
        最近更新 更多