看看 Jmeter 是如何玩转 redis 数据库的

发表于:2024-3-05 09:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:程序员月下    来源:知乎

  Jmeter作为当前非常受欢迎的接口测试性能测试的工具,在企业中得到非常广泛的使用,而redis作为缓存数据库,也在企业中得到普遍使用,那如何使用jmeter来测试redis数据库呢?今天我们就来讲一讲怎么使用jmeter来调用redis。
  jmeter准备
  由于jmeter本身并没有带有redis的测试入口,我们需要去安装redis插件。
  首先,我们下载jmeter-plugins-manager-1.6.jar文件,放到jmeter的lib的ext文件夹中,然后重启jmeter。
  然后,在‘选项’菜单下,点击‘plugin manager’,打开插件管理弹窗,选择‘Available Plugins’,在搜索框中,输入 redis。
  然后,选中‘Redis Data Set’,点击‘Apply Changes and Restart JMeter’
  带自动下载后重启jmeter。
  然后,在jmeter的线程组上右键,添加 > 配置元件 > jp@gc - Redis Data Set
  此时,已经可以通过jmeter配置连接redis数据库了。如果你已经有了redis数据库,那你就直接可以在当前的界面中进行相关的配置,如果你还没有redis数据库,就需要安装redis数据库。
  安装redis数据库
  安装redis数据库的方法很多,那使用docker方式的安装,可能是最简单的,下面我就用docker的方式来安装redis数据库。
  docker run -itd --name jmeter-redis \
  -p 6779:6379  \ 
  daocloud.io/library/redis:3.2.8-alpine redis-server --appendonly yes
  好了,现在有了redis数据库,该往数据库里面插入一些数据了。
  # 进入容器
  docker exec -it jmeter-redis /bin/sh
  # 命令模式,连接redis
  redis-cli
  # 插入列表数据
  lpush course jmeter,loadruner
  lpush course wrk,ab
  lpush course locust,ngrinder
  现在,redis数据库库中,已经有了一个列表course,我们可以在jmeter中,获取它的数据。
  jmeter使用redis数据
  在RedisDataSet中配置相关信息。
  Data Configuration
  · Redis key:Redis中的key,Redis数据库中列表(有序数据)或集(无序数据)的名称
  · Variable Names:由数据集导出到测试元素的变量的名称(设置取出来的value存放在哪个变量中)
  · Delimiter:存储在Redis列表或集合中的行中使用的分隔符(取出的value有多个值时,变量名之间的分隔符)
  · Date Sources Type:数据源类型,有List、Set两种选择
  · Recycle data on Flase: 数据是否重复使用
  Connection Configuration
  · Redis server host:Redis服务器IP地址
  · Redis server port:Redis服务端口
  · Timeout for connect in ms: 连接超时时间,默认2000 ms
  · Password for connection:连接Redis的密码
  · Database:数据库名称,连接Redis的第几个数据库,默认为0
  接下来我们添加调试取样器,在名称中引用redis变量名称。然后,线程组循环次数设置多次。
  运行
  我们看到,获得了redis的数据。
  jmeter向redis中写数据
  上面呢,我们已经有讲到了,怎么来获取redis数据库里面的数据?那接下来呢,我们给大家讲一下如何向redis数据库里面写入数据。
  首先,我们下载jedis的jar包, 把下载的包,放入jmeter的lib文件夹下,重启jmeter
  然后,在jmeter中,新增一个线程组,添加‘jsr223 sampler’
  import redis.clients.jedis.Jedis;
  Jedis jedis = new Jedis("81.69.228.171", 6679);
  jedis.set("foo","bar");
  String value = jedis.get("foo");
  运行脚本
  从redis数据库中确认,数据已经入库。
  好了,通过jmeter写入数据和获取数据的方法都讲了,你学会了吗?
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号