0


阿里云Redis性能压力测试(二十)

文章目录

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两个。

image-20220131152834744

压测命令如下:执行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实例,点击变更配置。

image-20220131160342115

2)分片数调整为4分片,实例规格调整为2G集群版(4节点),然后点击立即购买即可完成扩容。

image-20220131162000327

3)购买完成后不会立即升级集群节点数,阿里云有一个维护时间段,我们想要立即生效,需要将维护时间段进行调整,下拉选择当前时间段即可,变更配置需要花费一定的时间。

image-20220131160732785

4)扩容成功,集群已经是四节点。

image-20220131161604464

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


本文转载自: https://blog.csdn.net/weixin_44953658/article/details/128142306
版权归原作者 Jiangxl~ 所有, 如有侵权,请联系我们删除。

“阿里云Redis性能压力测试(二十)”的评论:

还没有评论