Redis 相信很多人都用过了,关于性能啥的,网上一堆报告,闲得蛋痛,又随便测测写写一些狗屁文章,来刷存在感了。
安装最新Redis5.0.10
下载页默认是redis6.0,5.0版本在下面“other versions”,因为redis6.0 架构上做了很大的调整,线上服务器是centos7.8并且是内网状态,在不联网的情况下根本无法部署6.0(简直就是恶梦),业务还是5.0版本,那么这里就测试5.0版本。
按着官方的操着方式成功安装redis5.0
测试前配置准备
先看看服务器配置,CPU型号是:Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz
先试官方提供的压测工具,在redis目录下面,redis-benchmark
相关的指令如下图
为了使得数据更真实,分别准备了两台服务器,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并发数。
可以看到,这台Redis服务器的性能上限就是9W/s 的处理速度,当然REDIS的速度更多的是受限于内存的速率和网络IO,而并非CPU的影响。
从上面的数据来看,并发客户端从50升到100个,并没有很显著的提高性能,但是并不是意味着多个客户端并不能有效的提高处理速度。
把客户端并发数调整为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
三者的处理速度分别是:3.8W/S , 10W/S , 8.6W/S
CPU变化总截图
网络变化总截图,注意顺序依次为三者的网络变化
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
三者的处理速度分别是:4.1W/S ,9.9W/S , 8.5W/S
CPU变化截图
网络变化总截图,注意顺序依次为三者的网络变化
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
三者的处理速度分别是:3.8W/S ,9.9W/S , 8.7W/S
CPU变化截图
网络变化总截图,注意顺序依次为三者的网络变化
本来是想测试下,正常环境下,模拟普通接口的压测,算了一下,每个接口15KB,以这个速度内存16G是不够的, 配置了100G内存,只能支持2分钟,压测不动就这样吧,后面有机会再压测模拟正常接口大小的结果。
今天的就先水到这里,下篇文章见。