2017-02-11 383 views
2

我尝试使用Jmeter中的Redis数据集插件从Redis获取价值。如果Redis键很简单(如示例https://www.youtube.com/watch?v=u0vu3tfrdKc),则可以提取其值,而不会有任何问题。在我的情况下,该值存储在复杂的密钥中,例如 - user.confirmation.6869427a27e784f7e7cbb0746714c27d,当我在Redis数据集中将它用作“Redis Key:”的值时,屏幕上弹出以下消息脚本不执行,并且jmeter键值不会返回:使用Jmeter Redis数据集从Redis获取价值

2017/02/11 12:57:57 INFO - jmeter.engine.StandardJMeterEngine: Running the test! 
2017/02/11 12:57:57 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2017/02/11 12:57:57 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*) 
2017/02/11 12:57:58 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group User Service 
2017/02/11 12:57:58 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group User Service. 
2017/02/11 12:57:58 INFO - jmeter.engine.StandardJMeterEngine: Thread will start next loop on error 
2017/02/11 12:57:58 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false 
2017/02/11 12:57:58 INFO - jmeter.threads.ThreadGroup: Started thread group number 1 
2017/02/11 12:57:58 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
2017/02/11 12:57:58 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group User Service 1-1 
2017/02/11 12:57:58 INFO - jmeter.threads.JMeterThread: Stop Thread seen: org.apache.jorphan.util.JMeterStopThreadException: End of redis data detected, thread will exit 
2017/02/11 12:57:58 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group User Service 1-1 
2017/02/11 12:57:58 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
2017/02/11 12:57:58 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*) 

此外,在Redis控制台本身接收值时没有问题。 尝试在关键点中筛选点也无济于事。 我期待您的回复,并提出任何意见。

回答

1

为了测试,我创建了设置这样的Redis的(键,值):

key: user.confirmation.6869427a27e784f7e7cbb0746714c27d 
row1: user.confirmation.6869427a27e784f7e7cbb0746714c27d 
row2: test 

而且我可以检索与Redis的数据集两行数据,所以它接缝的问题是不相关的名字很长,但是这个名字在你的Redis数据存储和JMeter中可能不一样。这就是为什么JMeter抱怨:“检测到redis数据结束,线程将退出

+0

当Redis值存储在List或Set数据类型中时,此解决方案工作正常。但以我的方式使用String。 – user2298869