首页 > 解决方案 > JMeter 相关性:为什么在大容量测试期间提取的值未传递给下一个请求,例如 -1000 线程

问题描述

我已从响应中提取值并将其传递给下一个请求。当我用最少的用户执行测试时,例如最多 100 到 200 个提取的值被正确传递给下一个请求。但是在将负载扩展到 500 到 1000 期间,显示的变量名称与请求中的一样,而不是提取的值。原因是什么以及如何处理?因此,我收到 502 bad gateway 错误。

标签: jmeter

解决方案


如果 JMeter 未能从响应中提取值很可能意味着响应中没有值,我的期望是在负载下您的应用程序无法正确响应因此提取失败。

502 bad gateway error 与变量提取没有任何共同之处,它表明您的应用程序在负载下遇到问题

关于“如何处理” - 存储前一个采样器的响应数据,可以通过添加简单数据写入器或灵活文件写入器作为该采样器的子级来完成,这样您就可以检查输出和弄清楚它有什么问题。

在此处输入图像描述

在此处输入图像描述

如果要保存所有采样器的响应数据 - 将侦听器移动到与采样器相同的级别或更高级别,请参阅范围规则用户手册章节了解更多详细信息。

或者,您可以将下一行添加到user.properties文件:

jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.url=true

更多信息:如何在 JMeter 中保存响应数据


推荐阅读