Azure上的负载测试

Azure上的负载测试,azure,jmeter,load-testing,azure-cloud-services,Azure,Jmeter,Load Testing,Azure Cloud Services,我正在Azure web服务上使用JMeter运行负载测试。 我用4个实例扩展S2上的服务,并运行JMeter 4个实例,每个实例上有500个线程 它的启动非常好,但一段时间后,调用开始失败并出现超时错误(HTTP状态:500) 我已经检查了azure上的HTTP请求队列,发现在第二个实例上它非常高,而在两个实例中它非常低 请帮助我成功完成负载测试。我假设您正在使用Azure应用程序服务。如果您检查应用程序的设置,您会注意到默认情况下将启用ARR的实例关联。简要说明: ARR通过给用户提供一个特

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

它的启动非常好,但一段时间后,调用开始失败并出现超时错误(HTTP状态:500)

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


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

我假设您正在使用Azure应用程序服务。如果您检查应用程序的设置,您会注意到默认情况下将启用ARR的实例关联。简要说明:

ARR通过给用户提供一个特殊的cookie(称为关联cookie),巧妙地跟踪用户之间的联系,这样,在后续请求时,ARR就可以知道用户与哪个服务器实例进行了对话。通过这种方式,我们可以确保,一旦客户机与特定服务器实例建立会话,只要会话处于活动状态,它就会继续与同一服务器通信

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


这可能是由于在JVM或操作系统级别缓存网络名称解析,因此所有请求只命中一台服务器。如果是这样-添加到您的测试计划中,它将解决您的问题

有关更详细的说明和配置说明,请参阅本文