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

news2024/11/24 8:47:56

文章目录

    • 1.云Redis性能压力测试
    • 2.安装redis-banchmark压测工具
    • 3.压测两节点的Redis集群
    • 4.压测四节点的Redis集群
      • 4.1.扩容集群为四节点
      • 4.2.压力测试
    • 5.压测结果对比

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.gz

2.编译安装
[root@iZ2ze1dg1xkfbzteb418qtZ ~]# tar xf redis-6.2.6.tar.gz 
[root@iZ2ze1dg1xkfbzteb418qtZ ~]# cd redis-6.2.6
[root@iZ2ze1dg1xkfbzteb418qtZ redis-6.2.6]# make

3.工具命令都在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 in 20.02 seconds		#100万次请求共耗时20秒
  1000 parallel clients		#并发数为1000
  3 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.767     7.144    19.983    20.447    20.703    29.903


====== GET ======                                         #100万次GET请求的性能压测结果     
  1000000 requests completed in 20.01 seconds
  1000 parallel clients
  3 bytes payload
  keep alive: 1
  host 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.714     6.976    19.983    20.383    20.543    28.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 in 9.01 seconds		#100万次请求共耗时20秒
  1000 parallel clients		#并发数为1000
  3 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.476     16.288    27.015    12.131    11.729    36.959



====== GET ======                                         #100万次GET请求的性能压测结果     
  1000000 requests completed in 12.01 seconds
  1000 parallel clients
  3 bytes payload
  keep alive: 1
  host 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.687     17.432    27.981    11.234    9.123    38.191

avg:平均
min:最小
p50:50%的数据请求耗时
p95:95%的数据请求耗时
p99:99%的数据请求耗时
max:最大

5.压测结果对比

效果很明显,要想性能高就要舍得花钱买高配置。

规格SETSET耗时GETGET耗时
2G2节点集群49955/s20.0249970/s20.01
4G4节点集群109980/s9.0199970/s12.01

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/53567.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

轨迹预测——day 57 基于车道交叉和考虑驾驶方式的终点生成模型的前目标车辆轨迹预测

Trajectory Prediction of Preceding Target Vehicles Based on Lane Crossing and Final Points Generation Model Considering Driving Styles导读II.问题表述与系统架构A. Trajectory Prediction for PTVs(preceding target vehicles)B. Position and…

python自学程序练习01:99乘法表

#完成99乘法表 #1*11 #1*22 2*24 #1*33 2*36 3*39 #很明显要两个循环print(打印99乘法表:) for i in range(1,10):for j in range(1, i1):print(f{j}*{i}{j * i}, end )结果如上图所示,很明显发现,是我们想要的数据但是他的形式需要有所修改。…

Vue3创建项目(四)main.js配置,避坑指南

系列文章目录 第一篇 Vue3创建项目(一)新手教程 第二篇 Vue3创建项目(二)router路由配置和使用 第三篇 Vue3创建项目(三)Vuex配置 目录 系列文章目录 main.js配置,直接看图,如下…

作为前端你还不懂MutationObserver?那Out了

🐱个人主页:不叫猫先生 🙋‍♂️作者简介:前端领域新星创作者、华为云享专家、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀! 💫系列专栏&#xff…

Netty(一)- Netty与BIO、NIO、AIO介绍

文章目录一、Netty的介绍二、Netty的应用场景1. 互联网行业2. 游戏行业3. 大数据领域三、I/O模型1. Java BIO(1)Java BIO 基本介绍(2)Java BIO 工作机制(3)Java BIO 应用实例(4)Java…

css如何快速将网站设置为灰色背景

突然想起写这篇文章是因为,公司的产品大早上打电话说:“赶紧,业务刚通知,我们的官网、小程序、公众号的首页需要变为灰色背景,最好在10点半之前上线”。当时心有千般不愿,但最后生活压倒我坚硬的脊梁。哈哈…

关于《web课程设计》网页设计 用html css做一个漂亮的网站 仿新浪微博个人主页

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

C语言用高斯消元法求行列式

目录 数学原理 程序设计 整体流程与代码 测试函数 测试结果 数学原理 高斯消元法求行列式:利用初等行变换,化为上三角行列式,求其主对角线的乘积 行列式的初等行变换: 1)换行变换:交换两行&#xf…

静态路由配置案例

静态路由配置案例配置静态路由原理命令:案例:最后结果:配置静态路由原理命令: [Huawei]ip route-static 来源ip 子网掩码 去向ip [Huawei]ip route-static 192.168.20.1 255.255.255.0 192.168.1.2 案例: pc1,pc2,a…

世界杯里的数学知识

一、前言 2022 年卡塔尔世界杯足球赛已经开幕,这是历史上首次在卡塔尔和中东国家境内举行、也是第二次在亚洲举行的世界杯足球赛。除此之外,卡塔尔世界杯还是首次在北半球冬季举行、首次由从未进过世界杯决赛圈的国家举办的世界杯足球赛。世界杯足球赛里…

凌玮科技IPO注册生效:曾踩雷理财损失2000万元,胡颖妮为董事长

11月30日,广州凌玮科技股份有限公司(下称“凌玮科技”)在深圳证券交易所创业板递交招股书(注册稿)。相较于此前招股书,凌玮科技补充披露了截至2022年9月30日的财务数据等信息,并对2022年度的业绩…

SimCSE:对比学习,只需要Dropout

要说2021年上半年NLP最火的论文,想必非《SimCSE: Simple Contrastive Learning of Sentence Embeddings》莫属。SimCSE的全称是Simple Contrastive Sentence Embedding Sentence Embedding Sentence Embedding一直是NLP领域的一个热门问题,主要是因为其…

独家 | AI是如何帮助创造看起来和听起来都和我们一样的仿真数码人的

作者:Anthony Green翻译:顾伟嵩 校对:赵茹萱本文约6000字,建议阅读14分钟 由AI驱动的仿真数码人正在从事娱乐、执法等工作。图来源于ERICA SNYDER/MITTR | UNSPLASH仿真数码双胞胎捕获了真实人类的外表和表情。这些复制品越来越多…

科技云报道:从百度智能云的探索,看懂边缘云的过去和未来

科技云报道原创。 布莱恩阿瑟在《技术的本质》一书中写道,“技术是一个异常美丽的主题,它不动声色地创造了财富,成就了经济的繁荣,改变了人类的生存方式。” 五年前,人们还不会在地铁公交上看视频,因为视频…

obsidian和zotero联动

前言 看了好多obsidian和zotero联动的视频和教程,终于还是下手了。 obsidian和zotero之所有能够完美联动,很大程度上建立在这两个软件都有这活跃的第三方插件市场,只要肯花功夫挖掘,我相信是能玩出花来的。 网上的多数联动是基…

如何在R语言中建立六边形矩阵热图heatmap可视化

原文链接:http://tecdat.cn/?p18879这是一个六边形热图可视化程序,主要用到的知识RColorBrewer,fields,也就是R中的可视化绘图库(点击文末“阅读原文”获取完整代码数据)。本文希望SOM的结果以六边形热图可视化。让我…

JMeter入门教程(6) --脚本添加

文章目录1.添加线程组2.添加HTTP Cookie管理器3.添加HTTP请求默认值4.添加HTTP请求5.添加查看结果树1.添加线程组 1.创建JMeter测试计划的第一步就是添加线程组测试元件。线程组会告诉JMeter需要模拟的并发用户数,以及并发用户发送请求的频率和数目。 要添加线程组…

程序过程分析——从编译到执行

汇编源程序 mov ax,4c00H int 21H 这两条指令可以实现程序返回的功能。 编译 使用微软的masm5.0汇编编译器,文件名为masm.exe。 在编译的过程中,我们提供了一个输入,即源程序文件。最多可以得到3个输出:目标文件(.obj)、列表文件(.Ist)、交叉引用文件(.erf),这3个输…

【vue项目部署CSS失效】VUE部署后css样式加载无效和失效多种情况解决方案

【写在前面】vue3在vscode运行正常、build后在IDEA运行正常,但是当部署在服务器上运行发现样式加载不出来,下面我们针对这些情况进行复现与解决。 一、问题分析 困扰我好久,当即百度原因,百度清一色下面三种情况: 1、…

ARM作业,M4

使用CORTEX-M4核,实验中断实验和串口实验结合 gpio.c void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin) {switch(GPIO_Pin){case GPIO_PIN_7:HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_10);printf("key2 down\n");break;case GPIO_PIN_8:HAL_GPIO_Tog…