向JMeter中的多个线程提供1个JDBC请求结果

问题描述 投票:0回答:1

我在Jmeter中遇到问题。我正在测试的API从先前的JDBC请求中获取参数。只有1个线程时,这可以正常工作。但是,当我运行多个线程时,它将引发以下错误

{"Message": "A transient error has occurred. Please try again. (1205)","Data":null}

Here is the screenshot

我需要运行5个线程,而不必运行JDBC请求5次。我可以在1个JDBC调用中检索5个结果,并为每个线程依次提供它们。这可能吗?我怎样才能做到这一点?最坏的情况是,我将不得不手动设置CSV文件而不是JDBC调用。

json jdbc jmeter
1个回答
0
投票

通常人们使用setUp Thread Group进行测试数据准备,并使用tearDown Thread Group进行最终清理。我建议将JDBC请求移动到setUp线程组下,并以1个虚拟用户运行它。


如果必须保持测试计划结构不变,并且可以修改SQL查询以返回更多结果,请注意,根据JDBC Request采样器文档,结果看起来像:

myVar_#=5
myVar_1=foo
myVar_2=bar
myVar_3=baz
myVar_4=qux
myVar_5=corge

因此您可以通过__V()__threadNum()功能组合使用值,例如:

${__V(myVar_${__threadNum},)}
© www.soinside.com 2019 - 2024. All rights reserved.