文章目录
1.云Redis性能压力测试
我们当前Redis集群是2个节点2个分片,使用redis-benchmark工具对Redis集群进行性能压力测试。
首先压力测试出2分片2节点的Redis集群性能消耗,然后将集群扩容到4个节点,再测试4节点4分片的集群压力性能,进行对比。
redis-banchmark工具常用参数含义:
-h
:指定Redis服务器地址。-p
:指定服务端口号。-s
:指定服务器socket方式连接。-c
:指定并发连接数。-n
:指定请求次数。-d
:以字节的形式指定SET/GET值的数据大小。-k
:1=keepalive(长连接)0=reconnect(重新连接)。-r
:SET/GET/INCR使用随机Key。-P
:通过管道传输请求。-q
:强制退出Redis。-l
:生成循环,永久执行测试。-t
:仅运行以逗号分隔的测试命令列表。--cluster
:支持集群模式,6.0以下版本不支持。
2.安装redis-banchmark压测工具
redis-banckmark工具高版本的支持集群模式的压力测试,低版本的尚不支持集群模式,我们通过源码包的方式安装6.0的工具包。
1.下载源码包
[root@iZ2ze1dg1xkfbzteb418qtZ ~]# wget https://download.redis.io/releases/redis-6.2.6.tar.gz2.编译安装
[root@iZ2ze1dg1xkfbzteb418qtZ ~]# tar xf redis-6.2.6.tar.gz [root@iZ2ze1dg1xkfbzteb418qtZ ~]# cd redis-6.2.6[root@iZ2ze1dg1xkfbzteb418qtZ redis-6.2.6]# make3.工具命令都在src/目录中
3.压测两节点的Redis集群
目前的集群节点数为2两个。
压测命令如下:执行100万次set及get请求,并发数为1000。
[root@iZ2ze1dg1xkfbzteb418qtZ ~]# /root/redis-6.2.6/src/redis-benchmark -h kodcloud.redis.rds.aliyuncs.com -t set,get -r 1000000 -n 1000000 -c 1000====== SET ======#100万次SET请求的性能压测结果 1000000 requests completed in20.02 seconds #100万次请求共耗时20秒1000 parallel clients #并发数为10003 bytes payload #操作数据量为3个字节
keep alive: 1#采用的长连接host configuration "save":host configuration "appendonly":yes
multi-thread: no #是否支持多线程
Summary: #每秒能处理49955次SET请求
throughput summary: 49955.04 requests per second
latency summary (msec):
avg min p50 p95 p99 max
19.7677.14419.98320.44720.70329.903====== GET ======#100万次GET请求的性能压测结果 1000000 requests completed in20.01 seconds
1000 parallel clients
3 bytes payload
keep alive: 1host configuration "save":host configuration "appendonly":yes
multi-thread: no
Summary: #每秒能处理49970次GET请求
throughput summary: 49970.02 requests per second
latency summary (msec):
avg min p50 p95 p99 max
19.7146.97619.98320.38320.54328.191
avg:平均
min:最小
p50:50%的数据请求耗时
p95:95%的数据请求耗时
p99:99%的数据请求耗时
max:最大
4.压测四节点的Redis集群
刚刚压测完两节点的Redis集群,得到了压缩结果报告,我们现在将两节点升级为四节点,再次进行压测,观察结果。
4.1.扩容集群为四节点
1)在实例列表中找到Redis实例,点击变更配置。
2)分片数调整为4分片,实例规格调整为2G集群版(4节点),然后点击立即购买即可完成扩容。
3)购买完成后不会立即升级集群节点数,阿里云有一个维护时间段,我们想要立即生效,需要将维护时间段进行调整,下拉选择当前时间段即可,变更配置需要花费一定的时间。
4)扩容成功,集群已经是四节点。
4.2.压力测试
[root@iZ2ze1dg1xkfbzteb418qtZ ~]# /root/redis-6.2.6/src/redis-benchmark -h kodcloud.redis.rds.aliyuncs.com -t set,get -r 1000000 -n 1000000 -c 1000====== SET ======#100万次SET请求的性能压测结果 1000000 requests completed in9.01 seconds #100万次请求共耗时20秒1000 parallel clients #并发数为10003 bytes payload #操作数据量为3个字节
keep alive: 1#采用的长连接host configuration "save":host configuration "appendonly":yes
multi-thread: no #是否支持多线程
Summary: #每秒能处理49955次SET请求
throughput summary: 109980.01 requests per second
latency summary (msec):
avg min p50 p95 p99 max
15.47616.28827.01512.13111.72936.959====== GET ======#100万次GET请求的性能压测结果 1000000 requests completed in12.01 seconds
1000 parallel clients
3 bytes payload
keep alive: 1host configuration "save":host configuration "appendonly":yes
multi-thread: no
Summary: #每秒能处理49970次GET请求
throughput summary: 99970.02 requests per second
latency summary (msec):
avg min p50 p95 p99 max
15.68717.43227.98111.2349.12338.191
avg:平均
min:最小
p50:50%的数据请求耗时
p95:95%的数据请求耗时
p99:99%的数据请求耗时
max:最大
5.压测结果对比
效果很明显,要想性能高就要舍得花钱买高配置。
规格SETSET耗时GETGET耗时2G2节点集群49955/s20.0249970/s20.014G4节点集群109980/s9.0199970/s12.01
版权归原作者 Jiangxl~ 所有, 如有侵权,请联系我们删除。