jmeter(34)-测试redis非关系型NoSQL数据库
测试Redis非关系型NoSQL数据库
Redis是内存数据库
Redis是开源的内存数据结构存储,可以用作数据库,缓存和消息代理。
作为内存数据库,它将所有数据保存在内存中。
Redis在读取/写入数据时实现高性能。
https://jmeter-plugins.org/wiki/RedisDataSet/
操作:我们通过jmeter中redis的插件来完成,redis插件的名字是 Redis Data Set
添加--配置元件--jp@gc - Redis Data Set
我添加的时候出现了一点问题,原本我发现在install plugins那里看是已经安装好的了
但是怎么加载都不出来,后来我在install plugins进行不勾选此插件进行卸载,然后重启后再重下载,又重启,终于好了。
来自官网https://jmeter-plugins.org/wiki/RedisDataSet/
1.资料配置 本节介绍如何在Redis中存储数据以及如何将其映射到JMeter变量。本节中的所有选项均为必填项。
- RedisKey:列表或集名称
- 变量名称:数据集导出到测试元素的变量名称。这些等效于CSV数据集中的CSV列标题。user,pwd
- 分隔符:在Redis列表或Set中存储的行内使用的分隔符,默认“,”逗号
- 数据源类型:数据是作为列表还是集合加载到Redis,下拉框选择List or Set
- 使用时回收数据:默认为true
true或者false (数据是否可以重复使用或者应该在使用时是否应该从redis中删除)
如果为true,则将在多个迭代,线程和负载生成器之间重复使用数据。等同于继续使用数据。
如果为false,则在使用时将消耗数据。一旦数据耗尽,将不再执行进一步的迭代。如果必须确保在负载生成器之间使用唯-数据,这将非常有用。
官方:使用时是否可以重复使用数据,或应将数据从Redis中删除。如果为true,则将在多个迭代,线程和负载生成器之间重复使用数据。如果为false,则数据将在使用后消耗。数据用完后,将不再执行任何迭代。如果必须确保在负载生成器之间使用唯一的数据,这将很有用。
2.连接配置
- Redis服务器主机:Redis服务器的主机名。
- Redis服务器端口:通常是标准Redis端口6379。
- 数据库:Redis数据库,通常设置为0。默认16个库 选择使用的是第几个数据库,我是db10
- 连接超时(毫秒)默认2000(非必填)
- 连接密码:为需要认证的Redis数据库添加密码(非必填)
3.Redis池配置-这些选项由Apache Commons Pool库控制
key是jmeterlr
value是soapui和postman
已知这是List数据类型
遇到问题:
不知道为什么我连接redis获取数据不成功,但我用rdm工具连接是正常的。
待调试,
引用redis的数据
2020-03-03 21:16:19,452 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2020-03-03 21:16:19,454 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2020-03-03 21:16:19,455 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2020-03-03 21:16:19,550 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : 线程组
2020-03-03 21:16:19,550 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group 线程组.
2020-03-03 21:16:19,550 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2020-03-03 21:16:19,550 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 delayedStart=false
2020-03-03 21:16:19,551 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2020-03-03 21:16:19,551 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2020-03-03 21:16:19,551 INFO o.a.j.t.JMeterThread: Thread started: 线程组 1-1
2020-03-03 21:16:20,065 INFO o.a.j.t.JMeterThread: Stop Thread seen for thread 线程组 1-1, reason: org.apache.jorphan.util.JMeterStopThreadException: End of redis data detected
2020-03-03 21:16:20,065 INFO o.a.j.t.JMeterThread: Thread finished: 线程组 1-1
2020-03-03 21:16:20,065 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2020-03-03 21:16:20,074 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)