fbi_redis压测(AB对照)

59 阅读3分钟

一、背景与目的

经过压测后业务怀疑DBA交付的redis性能不及开发自己部署的redis,所以组织本次压测。

目的

  1. 验证两套redis之间的性能差距。

  2. 验证redis白皮书中关于性能的指标




二、准备

  1. 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.328C16Gredis-cluster-cic-rds1-ksa
  1. 开发自己的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.348C16G
  1. 监控地址

DBA redis:

开发 redis:(没权限,所以缺少截图)

  1. 测试时间

暂定 8月19日14点

  1. 环境

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
序号并发数请求量CPUQPS网络带宽redis容量CPUQPS网络带宽redis容量
110010000
220010000
340010000
480010000
59001000w
6150010000
7200010000

B. 压测期间的监控指标

100并发数

DBA redis

  1. CPU

  2. QPS

  3. 网络带宽

  4. redis容量

开发 redis

  1. CPU

  2. QPS

  3. 网络带宽

  4. redis容量

200并发数

DBA redis

  1. CPU

  2. QPS

  3. 网络带宽

  4. redis容量

开发 redis

  1. CPU

  2. QPS

  3. 网络带宽

  4. redis容量

400并发数

DBA redis

  1. CPU

  2. QPS

  3. 网络带宽

  4. redis容量

开发 redis

  1. CPU

  2. QPS

  3. 网络带宽

  4. redis容量

900并发数

DBA redis

  1. CPU

  1. QPS

  1. 网络带宽

  1. redis容量

开发 redis

  1. CPU

  2. QPS

  3. 网络带宽

  4. redis容量

1500并发数

DBA redis

  1. CPU

  1. QPS

  1. 网络带宽

  1. redis容量

  1. 连接数

开发 redis

  1. CPU

  2. QPS

  3. 网络带宽

  4. redis容量

3000并发数

DBA redis

  1. CPU

  2. QPS

  3. 网络带宽

  4. redis容量

开发 redis

  1. CPU

  2. QPS

  3. 网络带宽

  4. redis容量

4000并发数

DBA redis

  1. CPU

  2. QPS

  3. 网络带宽

  4. redis容量

开发 redis

  1. CPU

  2. QPS

  3. 网络带宽

  4. redis容量




四、压测分析与结论

分析

1000 并发,10w请求

图片.png

8000并发,10w请求

图片.png

说明:

· 以100ms为线,生产的95.97%优于sit的12.94%

8000 并发,1000w请求

图片.png

说明:

· 生产redis的性能优于开发的redis。

8000并发数下,测试incr命令

图片.png

说明:

· 生产redis的性能优于测试redis。

· 100ms的为基础线,生产redis的93%是开发redis的2倍多。

结论

  1. 生产redis的性能优于测试redis。

  2. 生产环境出现超时,从测试结果来看,不是生产redis性能不足导致。




五、补充信息

  1. [FBI(限量品库存管控)活动所需资源]