redis的redis-benchmark用法
在 Redis 中,redis-benchmark
是一个内置的性能测试工具,用于评估 Redis 服务器的性能。它可以帮助你测试 Redis 在不同场景下的吞吐量、延迟和并发处理能力。以下是 redis-benchmark
的详细用法和示例。
1. 基本语法
redis-benchmark [options]
2. 常用选项
选项 | 说明 |
---|---|
-h <host> |
指定 Redis 服务器的主机名(默认:127.0.0.1)。 |
-p <port> |
指定 Redis 服务器的端口号(默认:6379)。 |
-a <password> |
如果 Redis 设置了密码,使用该选项指定密码。 |
-c <clients> |
指定并发客户端数量(默认:50)。 |
-n <requests> |
指定总请求数量(默认:100000)。 |
-d <size> |
指定 SET/GET 值的数据大小(单位:字节,默认:3)。 |
-t <tests> |
指定要运行的测试类型(如 set 、get 、incr 等,默认运行所有测试)。 |
-k <boolean> |
是否使用长连接(1 表示使用,0 表示不使用,默认:1)。 |
-r <keyspacelen> |
使用随机键名进行测试,指定键名的范围(默认:1000000)。 |
-P <numreq> |
使用管道(pipeline)进行测试,指定每个管道的请求数量。 |
-q |
安静模式,只显示每秒请求数(QPS)。 |
--csv |
以 CSV 格式输出结果。 |
--lua <script> |
测试 Lua 脚本的性能。 |
3. 常用示例
(1) 基本测试
运行所有默认测试(包括 SET、GET、INCR 等):
redis-benchmark
(2) 指定并发客户端和请求数量
使用 100 个并发客户端,总共发送 100000 个请求:
redis-benchmark -c 100 -n 100000
(3) 测试特定命令
仅测试 SET
和 GET
命令:
redis-benchmark -t set,get
(4) 测试随机键名
使用随机键名进行测试,键名范围为 1000000:
redis-benchmark -r 1000000
(5) 测试大值数据
测试 SET
和 GET
命令,值的大小为 1000 字节:
redis-benchmark -t set,get -d 1000
(6) 使用管道测试
使用管道进行测试,每个管道包含 10 个请求:
redis-benchmark -P 10
(7) 测试 Lua 脚本
测试 Lua 脚本的性能:
redis-benchmark --lua "return redis.call('set', 'foo', 'bar')"
(8) 安静模式
只显示每秒请求数(QPS):
redis-benchmark -q
(9) 测试远程 Redis 服务器
测试远程 Redis 服务器(IP: 192.168.1.100,端口: 6380):
redis-benchmark -h 192.168.1.100 -p 6380
(10) CSV 格式输出
以 CSV 格式输出结果:
redis-benchmark --csv
4. 结果解读
redis-benchmark
的输出结果通常包括以下信息:
- QPS(Queries Per Second):每秒处理的请求数。
- 延迟分布:不同百分比的请求延迟(如 50%、95%、99%)。
- 总请求数:测试期间发送的总请求数。
- 总时间:测试完成所需的时间。
例如:
====== SET ======
100000 requests completed in 1.23 seconds
50 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 1 milliseconds
81703.42 requests per second
5. 注意事项
- 测试环境:确保测试环境与生产环境一致,避免测试结果失真。
- 资源限制:测试过程中可能会占用大量 CPU、内存和网络资源,避免在生产环境中运行。
- 多次测试:建议多次运行测试,取平均值作为最终结果。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2021-02-24 Cron表达式
2018-02-24 使用maven创建web项目【转】
2018-02-24 SSM框架搭建总结(2)
2018-02-24 maven pom文件结构简析