redis性能测试压测方案
2023-06-13 09:12:50 时间
Redis 之父 Salvatore 就说过:“通过执行GET/SET命令来测试Redis就像在雨天检测法拉利的雨刷清洁镜子的效果”。 很多时候人们跑到我这里,他们想知道为什么自己的Redis-Benchmark统计的结果低于最优结果 。 但我们必须要把各种不同的真实情况考虑进来,例如:
- 可能受到哪些客户端运行环境的限制?
- 是同一个版本号吗?
- 测试环境中的表现与应用将要运行的环境是否一致?
Redis-Benchmark的测试结果提供了一个保证你的 Redis-Server 不会运行在非正常状态下的基准点,但是你永远不要把它作为一个真实的“压力测试”。压力测试需要反应出应用的运行方式,并且需要一个尽可能的和生产相似的环境。
# redis做压测可以用自带的redis-benchmark工具
redis 性能测试的基本命令如下:
redis-benchmark [option] [option value]
redis-benchmark -h 192.168.0.231 -p 27000 -c 50 -n 10000 -t get
-c表示连接数
-n表示请求数
更多参数请输入 --help 查看~
压测需要一段时间,因为它需要依次压测多个命令的结果,如:get、set、incr、lpush等等,所以我们需要耐心等待
如果只需要压测某个命令,如:get,那么可以在以上的命令后加一个参数-t(红色部分):
redis-benchmark -h 127.0.0.1 -p 6086 -c 50 -n 10000 -t get
注意:该命令是在 redis 的目录下执行的,而不是 redis 客户端的内部指令。
# 实例
(经实践redis4在其src目录下执行,redis5在其安装目录下执行即可) 以下实例同时执行 10000 个请求来检测性能:
[root@0b4ca1896e4e redis-5.0.8]# redis-benchmark -h 192.168.0.231 -p 27000 -c 50 -n 10000 -t get
====== GET ======
10000 requests completed in 0.21 seconds //在0.21秒内完成10000个请求
50 parallel clients //50个并行客户端
3 bytes payload //3字节有效载荷
keep alive: 1 //保持活力:1
98.73% <= 1 milliseconds //毫秒
99.51% <= 5 milliseconds
99.58% <= 6 milliseconds
99.72% <= 7 milliseconds
99.85% <= 8 milliseconds
99.99% <= 9 milliseconds
100.00% <= 9 milliseconds
46728.97 requests per second
[root@localhost src]# pwd
/home/summer/redis-4.0.11/src
[root@localhost src]# ./redis-benchmark -h 192.168.0.90 -p 27000 -c 50 -n 10000 -t get
====== GET ======
10000 requests completed in 0.20 seconds
50 parallel clients
3 bytes payload
keep alive: 1
89.75% <= 1 milliseconds
99.08% <= 2 milliseconds
100.00% <= 2 milliseconds
49504.95 requests per second
相关文章
- 创建极致性能引入Redis(引入redis)
- 腾讯推出全新手机,Redis助力内存性能升级(腾讯手机redis)
- 成功清理Redis缓存中的无用Key(清除redis缓存key)
- 将日志信息存储到Redis中的探索(日志存储到redis里)
- 优化Shiro集群搭建采用Redis优化性能(shiro集群redis)
- 快内存与Redis,哪一种更快(内存快还是redis)
- Redis集群部署哨兵最佳实践方案(redis集群部署哨兵)
- Redis集群性能评测报告(redis集群评测)
- Redis集群技巧最新设计与实践(redis集群技巧)
- Redis锁把握最佳持有时间(redis锁持有时间)
- 性改善利用Redis实现的锁的可用性改进(redis 锁可用)
- Redis 远程IP连接实现方式研究(redis远程ip连接)
- 实现Redis数据批量导出至Excel(redis 转excel)
- 提升应用性能长期采用Redis数据存储(redis设置永久保存)
- 优化Redis连接数,提高性能(redis连接数合理配置)
- 解决Redis缓存穿透与击穿问题(redis缓存穿透与击穿)