问题描述
我正在使用IIS网站花园来处理具有15个工作进程的长时间运行的请求。
例如,在3个浏览器中,通常使用多个工作进程。
对于Apache jMeter,所有请求都使用相同的工作进程。
是否有一种方法可以强制使用多个工作进程?
解决方法
这可能至少有2种解释:
- 您的测试计划中有一些硬编码的ID或会话ID。检查它们的存在并将其删除,然后将Cookie Manager添加到测试中
- 您有一个在源IP模式下工作的负载平衡器,在这种情况下,您需要将策略更改为Round Robin或添加其他两台计算机
如果您使用1个线程进行X次迭代并期望使用不同的工作程序,则请检查:
Cookie Manager的配置方式如下:
以这种方式设置线程组(注意“未选中每次迭代的相同用户”):
如果问题仍然存在,请与您分享您的计划,并检查Header Manager中是否没有硬编码的ID导致使用1名工人
,表现良好的JMeter脚本应产生与真实浏览器相同的网络占用空间,如果您发现不一致之处,很可能是您的JMeter配置与真实浏览器发送的请求不匹配。
- 通过使用View Results Tree侦听器检查请求/响应详细信息,确保JMeter测试正在执行预期的操作
- 使用Wireshark或Fiddler之类的第三方工具捕获来自浏览器/ JMeter的请求,检测差异并修改JMeter配置以消除它们
更多信息:How to make JMeter behave more like a real browser
在绝大多数情况下,由于缺少或correlation动态值的实现不正确,JMeter脚本无法正常工作