Redis性能测试全面解析:提升你的Redis性能!

发表时间: 2020-12-03 17:45

1、redis性能测试的意义

了解redis在不同情况下的性能表现,并分析其性能瓶颈,找出相应的解决方案,提高整体架构的性能。

提高架构性能的方式:

缓存:对象缓存(redis、memched等)、应用缓存(代理缓存)、内容缓存(CDN)

异步:即应用的解耦,如各种队列(RabbitMQ、RocketMQ、Kafka等)

缓存适合应用于读操作,异步或者消息队列更适用于写操作。

为什么使用redis:

同配置2C4G的云主机,对比QPS,redis达到86206.90QPS,而mysql只达到10507.48QPS,所以当当前业务架构不变的情况下,业务并发量增大,mysql数据库不能很快的提供服务的时候,这时候可以加入redis作为缓存,来降低后端服务器的压力。

2、测试方式

Redis自带有性能测试攻击redis-benchmark,并且目前主流针对redis性能测试的厂商都采用这款软件作为评测标准,所以我们也用这款软件针对redis各个方面来进行压测。

3、常见的redis性能指标

(1)PING_INLINE:每秒完成多少次二进制安全空格的PING操作

(2)GET:每秒完成多少次GET key vlaue

(3)SET:每秒完成多少次SET key vlaue

(4)INCR:每秒完成多少次原子计数

(5)MSET:每秒多个key vlan请求次数

4、测试环境搭建

4.1 测试平台

服务器:2C4G 20G系统盘 20G RSSD云盘,centos7.6 64位 redis3.0

4.2 安装redis-benchmark

redis-benchmark为redis自带,不需要额外安装,只需要安装redis-cli即可

4.3 redis-benchmark 命令释义

redis-benchmark --help

参数释义

5、运行性能测试

参数可以自定义,咱们这次测试使用如下参数

可以使用网络中的redis客户端对服务端进行测试,但是为了测试redis在服务器上的真正性能,咱们使用本地测试的方式。

redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000

并发50 请求10000条,效果如下图

当前咱们也可以采取精简测试的方式,如下图

redis-benchmark -t set,get,incr -n 100000 -c 50 -q

6、性能分析

一般咱们都是多次测试取其均值作为参考,总结类似如下表格,或者可以根据表格做成相应的效果图。