一、背景与目的
经过压测后业务怀疑DBA交付的redis性能不及开发自己部署的redis,所以组织本次压测。
目的:
-
验证两套redis之间的性能差距。
-
验证redis白皮书中关于性能的指标
二、准备
-
DBA交付的redis(fbi ksa)
| DBA部署redis | ||
|---|---|---|
| ip | 规格 | redis组名 |
| 172.25.188.38172.25.188.39172.25.188.41172.25.188.35172.25.188.33172.25.188.34172.25.188.36172.25.188.37172.25.188.40172.25.188.42172.25.188.43172.25.188.32 | 8C16G | redis-cluster-cic-rds1-ksa |
-
开发自己的redis
| 刚峰提供对比redis | |
|---|---|
| ip | 规格 |
| 172.25.237.85 172.25.237.86 172.25.237.87 172.25.237.89 172.25.160.32 172.25.160.34 | 8C16G |
-
监控地址
DBA redis:
略
开发 redis:(没权限,所以缺少截图)
略
-
测试时间
暂定 8月19日14点
-
环境
fbi的ksa 环境redis
三、方案
混合读写的压测方案
使用redis-benchmark 直接redis节点进行压测。
# 1000 并发,默认是50, -q 表示输出关键信息 redis-benchmark -h 172.25.237.87 -p 6379 -d 1048576 -c 1000 -n 10000000 -q # 开发的redis ,1000并发,测试所有类型的命令 redis-benchmark -h 172.25.237.85 -p 6379 -d 1048576 -c 1000 -n 10000000 -q
#
redis-benchmark -h 172.25.188.43 -p 6379 -a 2ghlmvl_MT -t INCR -d 1048576 -c 800 -n 1000000
# 压测 incr指令
redis-benchmark -h 172.25.237.85 -p 6379 -t INCR -d 1048576 -c 800 -n 1000000
# 8000 并发,key大小1024*1024
redis-benchmark -h 172.25.188.43 -p 6379 -a 2ghlmvl_MT -t get -d 1048576 -c 8000 -n 100000
# 8000 并发,key大小1024*1024
redis-benchmark -h 172.25.237.85 -p 6379 -t get -d 1048576 -c 8000 -n 10000000
A. 混合读写测试用例
| DBA redis | 开发 redis | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 序号 | 并发数 | 请求量 | CPU | QPS | 网络带宽 | redis容量 | CPU | QPS | 网络带宽 | redis容量 |
| 1 | 100 | 10000 | ||||||||
| 2 | 200 | 10000 | ||||||||
| 3 | 400 | 10000 | ||||||||
| 4 | 800 | 10000 | ||||||||
| 5 | 900 | 1000w | ||||||||
| 6 | 1500 | 10000 | ||||||||
| 7 | 2000 | 10000 |
B. 压测期间的监控指标
100并发数
DBA redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
开发 redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
200并发数
DBA redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
开发 redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
400并发数
DBA redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
开发 redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
900并发数
DBA redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
开发 redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
1500并发数
DBA redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
-
连接数
开发 redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
3000并发数
DBA redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
开发 redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
4000并发数
DBA redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
开发 redis
-
CPU
-
QPS
-
网络带宽
-
redis容量
四、压测分析与结论
分析
1000 并发,10w请求
8000并发,10w请求
说明:
· 以100ms为线,生产的95.97%优于sit的12.94%
8000 并发,1000w请求
说明:
· 生产redis的性能优于开发的redis。
8000并发数下,测试incr命令
说明:
· 生产redis的性能优于测试redis。
· 100ms的为基础线,生产redis的93%是开发redis的2倍多。
结论
-
生产redis的性能优于测试redis。
-
生产环境出现超时,从测试结果来看,不是生产redis性能不足导致。
五、补充信息
- [FBI(限量品库存管控)活动所需资源]