multithreading - 如何使用循环控制器在 Jmeter 中同时运行线程
问题描述
我制作了一个 Jmeter 脚本,就像其中的一个线程登录然后我的事务和注销。我只在循环控制器中放置了一次登录 n 控制器和事务。但是当我执行并发线程时,一些线程失败了,因为 csrf 令牌没有按顺序匹配。我使用正则表达式提取 csrf 令牌。对于 1-2 个用户,它工作正常,但更多线程失败。
解决方案
尝试在您的测试中添加一些调试日志记录,即
- 使用示例变量属性将 CSRF 令牌值保存到 .jtl 结果文件中
将所有响应保存到 .jtl 结果文件中,您可以通过将下一行添加到user.properties文件中来做到这一点:
jmeter.save.saveservice.output_format=xml jmeter.save.saveservice.response_data=true jmeter.save.saveservice.response_data.on_error=true
- 使用Debug Sampler和View Results Tree listener 组合检查响应和 CSRF Token 变量值- 每个虚拟用户应该 100% 匹配,并且不同的线程(虚拟用户)必须具有不同的 CSRF Token 值。