使用jMeter测试IIS网站花园-请求使用的是同一工作线程

问题描述

我正在使用IIS网站花园来处理具有15个工作进程的长时间运行的请求。

例如,在3个浏览器中,通常使用多个工作进程。

对于Apache jMeter,所有请求都使用相同的工作进程。

是否有一种方法可以强制使用多个工作进程?

解决方法

这可能至少有2种解释:

  • 您的测试计划中有一些硬编码的ID或会话ID。检查它们的存在并将其删除,然后将Cookie Manager添加到测试中
  • 您有一个在源IP模式下工作的负载平衡器,在这种情况下,您需要将策略更改为Round Robin或添加其他两台计算机

如果您使用1个线程进行X次迭代并期望使用不同的工作程序,则请检查:

Cookie Manager的配置方式如下:

Cookie Manager

以这种方式设置线程组(注意“未选中每次迭代的相同用户”):

Thread Group

如果问题仍然存在,请与您分享您的计划,并检查Header Manager中是否没有硬编码的ID导致使用1名工人

,

表现良好的JMeter脚本应产生与真实浏览器相同的网络占用空间,如果您发现不一致之处,很可能是您的JMeter配置与真实浏览器发送的请求不匹配。

  1. 通过使用View Results Tree侦听器检查请求/响应详细信息,确保JMeter测试正在执行预期的操作
  2. 使用WiresharkFiddler之类的第三方工具捕获来自浏览器/ JMeter的请求,检测差异并修改JMeter配置以消除它们

更多信息:How to make JMeter behave more like a real browser

在绝大多数情况下,由于缺少或correlation动态值的实现不正确,JMeter脚本无法正常工作

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...