如何使用Apache JMeter测试Redis内存数据库的核心性能指标?
使用Apache JMeter测试Redis性能的具体方法
一、准备工作
- 安装最新稳定版JMeter,下载Redis相关插件(Redis Data Set、Redis Sampler),将插件放入JMeter安装目录的
lib/ext文件夹,重启JMeter。 - 确认Redis服务器正常运行,测试客户端能通过网络连通目标Redis实例(可先用
redis-cli ping验证)。
二、创建基础测试计划
添加线程组
右键测试计划 → 添加 → 线程(用户) → 线程组。根据测试目标配置:- 线程数:模拟的并发请求数
- Ramp-Up时间:启动所有线程所需的秒数(比如100线程设置10秒,即每秒启动10个线程)
- 循环次数:可设置固定次数,或勾选「永远」配合定时器控制测试时长
配置Redis连接
右键线程组 → 添加 → 配置元件 → Redis Configuration。填写:- 主机/IP:Redis服务器地址
- 端口:Redis服务端口(默认6379)
- 密码:若Redis设置了认证密码则填写
- 数据库:目标数据库编号(默认0)
添加Redis请求取样器
右键线程组 → 添加 → 取样器 → Redis Sampler。根据测试场景配置:- 命令:选择要测试的Redis命令(如SET、GET、LPUSH、HGET等)
- 键:填写操作的键名,若需批量测试不同键,可配合「CSV Data Set Config」导入键列表
- 值:SET等写命令需要填写对应值,读命令可留空
- 若要模拟混合业务场景,可添加多个Redis Sampler,分别配置不同命令
三、配置指标收集组件
核心指标收集
- 聚合报告:右键线程组 → 添加 → 监听器 → 聚合报告。这里可以直接获取:
- 吞吐量:每秒处理的请求数(单位:req/sec)
- 延迟数据:平均、中位数、90%/95%/99%分位延迟(单位:ms)
- 错误率:「错误%」字段,统计失败请求占总请求的比例
- 图形结果:添加后可可视化延迟随时间的变化趋势,便于观察性能波动
- 查看结果树:调试阶段用来验证请求是否正常,正式测试建议关闭以节省资源
错误率精准统计
给Redis Sampler添加断言验证响应正确性:
右键Redis Sampler → 添加 → 断言 → 响应断言。设置:
- 响应字段:选择「响应文本」
- 匹配规则:选择「包含」或「匹配」,填写预期响应(如SET命令预期"OK",GET命令预期对应值)
断言失败的请求会被标记为错误,计入错误率统计
四、Redis服务器资源利用率监控
JMeter无法直接收集Redis的系统资源指标,需配合以下工具:
- Redis内置命令:定期执行
redis-cli info stats获取命令执行统计,redis-cli info memory获取内存使用情况,redis-cli info cpu获取CPU占用数据 - 系统监控工具:Linux下用
top、vmstat、iostat实时查看Redis进程的CPU、内存、磁盘IO占用;也可使用Prometheus+Grafana搭建可视化监控面板,长期采集资源数据
五、执行测试与结果分析
- 预测试验证:先设置小并发(如10线程循环10次),通过查看结果树确认所有请求正常,配置无问题
- 正式测试:逐步递增并发数(如50、100、200线程),每次测试持续5-10分钟,确保系统进入稳定状态后再采集数据
- 结果分析:
- 吞吐量:结合并发数,判断Redis的最大处理能力
- 延迟:重点关注95%/99%分位延迟,评估极端场景下的响应速度
- 错误率:若错误率上升,排查是请求配置错误还是Redis达到性能瓶颈
- 资源利用率:对比不同并发下的CPU、内存占用,确定Redis的资源瓶颈点
内容的提问来源于stack exchange,提问作者Equanimity9121
相关产品推荐
相关产品推荐

