原来可以这么玩?Jmeter接口性能测试工具玩转测试Redis数据库(超详细)
创始人
2025-05-30 21:17:37

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

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 Pool Configuration

字段用法默认值
minIdle至少有多少个处于空闲状态的redis实例0
maxIdle一个线程池最多有多少个处于空闲状态的redis实例10
maxActive控制一个pool可分配多少个redis实例,通过pool.getResource()来获取;如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态就成exhausted20
maxWait表示当borrow一个redis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException30000
whenExhaustedAction表示当pool中的redis实例都被allocated完时,pool要采取的操作;默认有三种WHEN_EXHAUSTED_FAIL(表示无redis实例时,直接抛出NoSuchElementException)、WHEN_EXHAUSTED_BLOCK(则表示阻塞住,或者达到maxWait时抛出JedisConnectionException)、WHEN_EXHAUSTED_GROW(则表示新建一个jedis实例,也就说设置的maxActive无用)GROW
testOnBorrow在borrow一个redis实例时,是否提前进行alidate操作;如果为true,则得到的redis实例均是可用的False
testOnReturn在return给pool时,是否提前进行validate操作False
testWhileIdle如果为true,表示有一个idle object evitor线程对idle object进行扫描,如果validate失败,此object会被从pool中drop掉;这一项只有在timeBetweenEvictionRunsMillis大于0时才有意义False
timeBetweenEvictionRunsMillis表示idle object evitor两次扫描之间要sleep的毫秒数30000
numTestsPerEvictionRun表示idle object evitor每次扫描的最多的对象数0
minEvictableIdleTimeMillis表示一个对象至少停留在idle状态的最短时间,然后才能被idle object evitor扫描并驱逐;这一项只有在timeBetweenEvictionRunsMillis大于0时才有意义60000
softMinEvictableIdleTimeMillis在minEvictableIdleTimeMillis基础上,加入了至少minIdle个对象已经在pool里面了。如果为-1,evicted不会根据idle time驱逐任何对象。如果minEvictableIdleTimeMillis>0,则此项设置无意义,且只有在timeBetweenEvictionRunsMillis大于0时才有意义60000

接下来我们添加调试取样器,在名称中引用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数据库中确认,数据已经入库

请添加图片描述

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

成功来自与勤奋,智慧不是自然的恩惠,而是勤奋的结果。只有把握住勤奋的钥匙,才能打开知识宝库的大门。

生命是一份空白内容的租约,自主性越强的人生,租约上的条款由自己填写的部分就越多,被动性越强的人生,就会由别人帮你填写。

这个世界上没有完美的人,但是每个人都追求完美的事物。所以他门走到了一起,他们用他人的长处来弥补自己的短处,这个队伍称之位团队。

相关内容

热门资讯

“并购六条”激发北京地区并购重... ● 本报记者 昝秀丽 华大九天拟收购芯和半导体,构建从芯片到系统级EDA解决方案;中国船舶收购中国重...
和讯投顾刘伟奇:指数窄幅震荡,... 6月6日,我们来做一个复盘。和讯投顾刘伟奇表示,今天窄幅震荡了一天,成交量小幅萎缩,涨跌个股各半,什...
含胖量上升!永辉超市胖东来模式... 6月13日,永辉超市第100家胖东来模式调改店南京江宁万达店即将开业!100家调改门店的完成标志着永...
中信证券股份有限公司 关于召开... 本公司董事会及全体董事保证本公告内容不存在任何虚假记载、误导性陈述或者重大遗漏,并对其内容的真实性、...
30亿元!深铁集团年内第五次借... 【大河财立方消息】6月6日,万科A发布公告称,第一大股东深圳市地铁集团有限公司(以下简称深铁集团)拟...
关注优质重资产化工企业,石化E... 2025年6月6日,化工板块走强,石化ETF(159731)盘中上涨超0.9%,盘中交投活跃且频现溢...
险企境外可转债启航!中国平安逾... 本报(chinatimes.net.cn)记者胡金华 上海报道 可转债通常为沪港两地资本市场保险巨头...
中国进出口银行前5个月投放对外... 记者6日从中国进出口银行获悉,今年前5个月,进出口银行投放对外贸易领域贷款4600亿元,全力支持外贸...
特朗普和埃隆都吵完了,万斯才出... 41岁的万斯,已经开始显现野心了。还记得2025年2月底,泽连斯基到白宫求援的时候,眼见泽连斯基和特...
金表品牌“西普尼”冲刺港交所 公司动态 6月3日,深圳西普尼精密科技股份有限公司(以下简称“西普尼”)正式向港交所递交了招股说明...
马斯克父亲劝儿子服软:过头了 ... 澎湃新闻记者 吴遇利特朗普与马斯克的“分手大战”走向扑朔迷离。从市场来看,情绪有所降温。当地时间6月...
原创 利... 根据河北省多家城市商业银行的2024年度业绩报告来看,河北银行在资产规模上仍旧是当之无愧的“河北一哥...
锦江酒店迈向港股市场,拟启动I... 近日,国内酒店业的领军企业锦江酒店(股票代码:600754.SH)发布了一则公告,宣布为深化公司的全...
精酿战局未歇 汽水烽烟又起 啤... 初夏傍晚,位于北京隆福寺的京A精酿餐吧人声鼎沸,冰凉的鲜啤是都市人缓解疲惫的热门选择。这并非孤例,记...
太平洋货轮仍在燃烧,3000辆... 太可怕了,一场大火,3000辆汽车灰飞烟灭,再一次引发了人们对电动汽车的讨论。当地时间6月3日,美国...
谢卫卸任交银施罗德基金总经理 ... 中经记者 顾梦轩 夏欣 广州 北京报道6月6日晚,交银施罗德基金发布公告称,公司原总经理谢卫转任资深...
孟羽童的野心,董明珠的困局,为... 本文来自微信公众号:考拉Clara,作者:考拉Clara,题图来自:视觉中国(董明珠与孟羽童,202...
拆商,如何解决你99%的难题 在当今这个充满不确定性和复杂性的时代,解决问题的能力成为了每个人都必须具备的核心竞争力。笛子(王奕迪...
【资本】最新IPO排队186家... 来源:最|投行 与您一路同行,做您最忠实的拥护者--PCB行业融合新媒体-2025年最有价值的电路板...
磷酸铁锂玩家洗牌进行时?头部企... 电池是全球新能源产业的“心脏”,进入2025年以来,决定这一“心脏”成本和性能的关键——正极材料市场...
众生皆苦 众生皆苦 众生皆苦你... 今天开始高考,又到了一年一次的千军万马过独木桥。对于绝大多数普通人来说,一生中只有两次“公平”改变命...
新琪安科技6月10日港股上市,... 代糖企业新琪安科技股份有限公司(以下简称“新琪安科技”)上市进程迎来新进展。新京报记者获悉,新琪安科...
麦角硫因究竟是不是“假药”?科... 科伦药业回应称,麦角硫因的定位是健康管理工具,当下麦角硫因是国际上公认的膳食补充剂,而非药品,又何来...
5月外汇储备增加35.93亿美... 中国外汇储备余额连续5个月增加,同时中国人民银行连续7个月增持黄金。 中国人民银行6月7日公布的数据...
100亿河南方便面大王,陷入商... 题图来源:视觉中国记者丨谢之迎 谭璐 编辑丨谭璐河南方便面大王,因为商标文字,突然陷入舆论危机。6月...
乌方传捷报,又击毁一架苏35,... 双方打得还真是有来有回啊,前脚乌克兰搞了个蛛网行动,炸了俄罗斯得图95,后脚俄罗斯就复仇,对乌克兰展...
华夏银行:爱心守护高考路 今天,全国进入“高考时间”,1335万考生走进考场,用笔求解未来。华夏银行各地分行也在“静下来”“动...
【投融资动态】国奥科技A轮融资... 证券之星消息,根据天眼查APP于6月4日公布的信息整理,国奥科技(深圳)有限公司A轮融资,融资额数千...
晓数点|一周个股动向:这只体育... 本周(6月2日至6日)的五个交易日中,A股三大指数均累计上涨,沪指累计涨1.13%,深证成指涨1.4...
75岁董事长和北大教授隔空对战... 北大学者与千亿药企掌门的麦角硫因之争。作者 | 刘钦文编辑丨高 岩来源 | 野马财经一场由生物学家与...