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库控制

https://commons.apache.org/proper/commons-pool/api-1.6/org/apache/commons/pool/impl/GenericObjectPool.html


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*)




原文地址:https://www.cnblogs.com/yiyaxuan/p/12396859.html