Redis 相信很多人都用过了,关于性能啥的,网上一堆报告,闲得蛋痛,又随便测测写写一些狗屁文章,来刷存在感了。

安装最新Redis5.0.10

Redis 官方地址

下载页默认是redis6.0,5.0版本在下面“other versions”,因为redis6.0 架构上做了很大的调整,线上服务器是centos7.8并且是内网状态,在不联网的情况下根本无法部署6.0(简直就是恶梦),业务还是5.0版本,那么这里就测试5.0版本。

按着官方的操着方式成功安装redis5.0

Redis5 压力测试结果反馈报告-LMLPHP

测试前配置准备

先看看服务器配置,CPU型号是:Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz

Redis5 压力测试结果反馈报告-LMLPHP

先试官方提供的压测工具,在redis目录下面,redis-benchmark

Redis5 压力测试结果反馈报告-LMLPHP

 相关的指令如下图

Redis5 压力测试结果反馈报告-LMLPHP

 为了使得数据更真实,分别准备了两台服务器,Redis 服务器:192.168.3.40 ,压测服务器是:192.168.3.138 ,本次测试是基于单机测试,非集群

开始SET,Get,Lpush 常规测试

Set 测试

./redis-benchmark -h 192.168.3.40 -p 6379 -t set -n 1000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t set -c 100 -n 1000000

上面两句代码分别是进行 1000000 次 Set 请求,使用默认大小(3 个字节),第一行默认使用50并发,第二行指定100并发数。

Redis5 压力测试结果反馈报告-LMLPHPRedis5 压力测试结果反馈报告-LMLPHP

 可以看到,这台Redis服务器的性能上限就是9W/s 的处理速度,当然REDIS的速度更多的是受限于内存的速率和网络IO,而并非CPU的影响。 

 从上面的数据来看,并发客户端从50升到100个,并没有很显著的提高性能,但是并不是意味着多个客户端并不能有效的提高处理速度。

Redis5 压力测试结果反馈报告-LMLPHP

把客户端并发数调整为10的时候,可以明显看到处理的速度变慢了。

接下来将测试不同的客户端并发数下,CPU和网络的变化情况

./redis-benchmark -h 192.168.3.40 -p 6379 -t set -c 5  -n 100000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t set -c 50  -n 100000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t set -c 100  -n 100000000

 Redis5 压力测试结果反馈报告-LMLPHP

 三者的处理速度分别是:3.8W/S , 10W/S , 8.6W/S

CPU变化总截图
Redis5 压力测试结果反馈报告-LMLPHP

网络变化总截图,注意顺序依次为三者的网络变化

 Redis5 压力测试结果反馈报告-LMLPHPRedis5 压力测试结果反馈报告-LMLPHPRedis5 压力测试结果反馈报告-LMLPHP

Get 测试 

./redis-benchmark -h 192.168.3.40 -p 6379 -t get -c 5  -n 100000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t get -c 50 -n 100000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t get -c 100 -n 100000000

Redis5 压力测试结果反馈报告-LMLPHP

 三者的处理速度分别是:4.1W/S ,9.9W/S , 8.5W/S

CPU变化截图

 Redis5 压力测试结果反馈报告-LMLPHP

网络变化总截图,注意顺序依次为三者的网络变化

 Redis5 压力测试结果反馈报告-LMLPHP Redis5 压力测试结果反馈报告-LMLPHP  Redis5 压力测试结果反馈报告-LMLPHP

Lpust 测试

./redis-benchmark -h 192.168.3.40 -p 6379 -t lpush -c 5 -n 100000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t lpush -c 50 -n 100000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t lpush -c 100 -n 100000000

 Redis5 压力测试结果反馈报告-LMLPHP

 三者的处理速度分别是:3.8W/S ,9.9W/S , 8.7W/S

CPU变化截图

Redis5 压力测试结果反馈报告-LMLPHP

网络变化总截图,注意顺序依次为三者的网络变化

Redis5 压力测试结果反馈报告-LMLPHP  Redis5 压力测试结果反馈报告-LMLPHP  Redis5 压力测试结果反馈报告-LMLPHP

本来是想测试下,正常环境下,模拟普通接口的压测,算了一下,每个接口15KB,以这个速度内存16G是不够的, 配置了100G内存,只能支持2分钟,压测不动就这样吧,后面有机会再压测模拟正常接口大小的结果。

今天的就先水到这里,下篇文章见。

12-13 02:09