磁盘类型选择对阿里云RDS MySQL的性能影响

测试说明

这是一个云数据库性能测试系列,旨在通过简单标准的性能测试,帮助开发者、企业了解云数据库的性能,以选择适合的规格与类型。这个系列还包括:

云数据库(RDS MySQL)性能深度测评与对比

阿里云RDS标准版(x86) vs 经济版(ARM)性能对比

华为云RDS通用型(x86) vs 鲲鹏(ARM)架构的性能对比

AWS基于x86 vs Graviton(ARM)的RDS MySQL性能对比(二)

AWS基于x86 vs Graviton(ARM)的RDS MySQL性能对比

阿里云RDS存储类型概述

阿里云RDS提供了较为丰富的存储类型选择,包括ESSD PL0、ESSD PL1、ESSD PL2、ESSD PL3、通用云盘、本地SSD。其中ESSD PL0仅在非常小的经济型规格中提供,并不在测试范围内。

根据阿里云的官方文档可以看到,从PL0到PL3,性能越来越强,并且IO能力也越来越稳定(详细参考:ESSD云盘@阿里云文档中心),当然价格也越来越贵。这里摘抄了文档中的描述,以及关键的部分,对比如下:

图片

“通用云盘”的说明可以参考阿里云文档描述:“通用云盘兼容ESSD云盘的所有特性,性能与ESSD PL1云盘相同,在ESSD云盘的基础上提供了IO突发能力。” 

所以,可以这样理解,通用云盘是一种具备ESSD PL1能力,同时具备更加灵活的IOPS突发增长能力的云盘。突发IOPS部分,将额外计费(有少部分的免费额度),突发IOPS部分的额外费用为:0.02元/万IO。

不同存储类型的性能趋势对比

那么,我们看看在RDS MySQL中这些不同的存储的性能表现。这里依旧选择了“企业级规格”进行比较(企业级规格的定义可以参考:云数据库(RDS MySQL)性能深度测评与对比),详细的性能如下:

图片

可以看到:

对于几种云盘的存储,RDS表现出了较为一致的性能,即,使用更好的存储的RDS总是能够获得了更好的性能:ESSD PL3 > ESSD PL2 > 通用存储 >> ESSD PL1

本地SSD,性能则是最差的存储,相较于ESSD PL1要低9%;相较于性能最好的ESSD PL3则要低18.7%。这一点与预期是不同的。

不过,相较于ESSD PL1/2/3之间成倍的价格增长,从这里的测试性能并没有展示出那么大的差距。即ESSD PL3的性能确实更好了,但是性价比是在降低的。

特别说明

注意到,在本次测试的规格”4vCPU16GB-高可用-独享-标准-默认参数模板-MySQL 8.0-ESSD PL1″与上次的“云数据库(RDS MySQL)性能深度测评”中的同样规格表现出了非常不同的性能。这次的测试中,相比上一次测试的同样规格性能要高约:41%。

图片

经过一些额外的测试,注意到,这个明显的性能差异是由于RDS所使用的不同CPU类型的性能差异所导致的,相当于AWS RDS实例中的m6i.xlarge(第三代Intel Xeon/Ice Lake实例)与m5.xlarge(Xeon® Platinum 8175M or 8259CL)之间的性能差异。只是,在阿里云,并没有通过规格代码将该选项暴露给用户。

所以,用户在购买RDS时,也需要注意,可以向阿里云的工程师咨询,如何通过地区、可用区或其他选项,以购买到最新代际的CPU所对应的RDS,获取更好的性能,如果性能对你的业务非常重要的时候。

对于其他云厂商,可能都会有类似的问题,也是需要注意的。不过因为阿里云RDS采用量更大、上线时间也更长,用户可能更容易遇到此类问题。

测试方法说明

参考文章“云数据库(RDS MySQL)性能深度测评”中的“测试方法说明”部分。

补充说明

以上价格为2023年12月,阿里云国内站杭州地区价格

在RDS选购中,ESSD PL2最低存储空间为500GB,PL3最低则为1500GB。这也会导致PL2、PL3存储成本会进一步增加,如果你使用的存储空间不需要那么大的话

这里选择的“企业级规格”是”4vCPU16GB-高可用-独享-标准-默认参数模板-MySQL 8.0″类型,选择了杭州J+K可用区,测试的ECS也在J可用区

这里使用的测试方法,对于IO依赖较强的是事务IO持久化的过程,数据文件写入一般来说并不会是瓶颈,这也限制了该测试对于某些现实场景的参考意义。对于CPU密集型的应用,例如,绝大部分的数据多缓存在内存中的场景,这也是较为常见的,该测试依旧有非常强的参考价值

关于作者:关于作者:orczhou,云数据库技术专家,NineData联合创始人,Oracle ACE(MySQL),《高性能MySQL》第三、四版译者,曾任阿里云数据库资深专家。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

远舢智能入选国家智慧能源产业联盟理事单位 远舢OS擘画绿色能源新蓝图

近日,中关村智慧能源产业联盟2023年会员大会暨数字技术赋能能源转型论坛在京召开。大会审议通过了北京远舢智能科技有限公司(以下简称“远舢智能”)成为联盟新任理事单位,将与国务院发展研究中心、国家电投、清华大学等国家重点单…

Springboot数据加密篇

一、密码加密 1.1Hash算法(MD5/SHA-512等) 哈希算法,又称摘要算法(Digest),是一种将任意长度的输入通过散列函数变换成固定长度的输出的单向密码体制。这种映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制…

【爬虫软件】孔夫子二手书采集

项目演示 孔网爬取图书信息 目录结构 [ |-- api-ms-win-core-synch-l1-2-0.dll, |-- api-ms-win-core-sysinfo-l1-1-0.dll, |-- api-ms-win-core-timezone-l1-1-0.dll, |-- api-ms-win-core-util-l1-1-0.dll, |-- api-ms-win-crt-conio-l1-1-0.dll, |-- api…

初级数据结构(七)——二叉树

文中代码源文件已上传&#xff1a;数据结构源码 <-上一篇 初级数据结构&#xff08;六&#xff09;——堆 | NULL 下一篇-> 1、写在前面 二叉树的基本概念在《初级数据结构&#xff08;五&#xff09;——树和二叉树的概念》中已经介绍得足够详细了。上一…

java开发需要掌握的TypeScript相关的知识点,细致简洁版。

Typescript&#xff1a; 介绍&#xff1a; TypeScript&#xff08;简称 TS&#xff09;是JavaScript的超集&#xff08;继承了JS全部语法&#xff09;&#xff0c;TypeScript Type JavaScript。 简单说&#xff0c;就是在JS的基础上&#xff0c;为JS添加了类型支持。是微软开…

分享一套国内功能齐全的开源MES/免费MES/MES源代码

一、系统概述&#xff1a; 万界星空科技免费MES、开源MES、商业开源MES、市面上最好的开源MES、MES源代码、适合二开的开源MES、好看的数字大屏。 1.万界星空开源MES制造执行系统的Java开源版本。 开源mes系统包括系统管理&#xff0c;车间基础数据管理&#xff0c;计划管理…

大模型之二十一-小语言模型塞道开启

当前提到大语言模型&#xff0c;大家想到的都是动辄百亿规模以上参数量的模型&#xff0c;13B、70B都是稀疏平常入门级的&#xff0c;但是目前从模型层面来看&#xff0c;模型参数量的规模两极分化已经来临&#xff0c;早期各大公司为了效果怼上去&#xff0c;采取了简单粗暴的…

Jmeter 性能测试 —— 评估一个系统TPS与并发数!

问题&#xff1a;性能压测&#xff0c;如何评估一个系统的TPS和并发数&#xff1f; 1、对于新系统 由业务部门或开发人员预估交易量和TPS指标 可以参考公式&#xff1a;并发用户 在线用户数 * 10%。 当一个系统还没有上线时&#xff0c;我们可以预判的是这个系统准备要给多…

【数字图像处理】实验一 图像基本运算

图像基本运算 一、实验内容&#xff1a; 1&#xff0e; 熟悉和掌握利用Matlab工具进行数字图像的读、写、显示等数字图像处理基本步骤。 2&#xff0e; 熟练掌握各种图像点运算的基本原理及方法。 3&#xff0e; 能够从深刻理解点运算&#xff0c;并能够思考拓展到一定的应用领…

MatGPT - 访问 OpenAI™ ChatGPT API 的 MATLAB® 应用程序

系列文章目录 前言 MatGPT 是一款 MATLAB 应用程序&#xff0c;可让您轻松访问 OpenAI 的 ChatGPT API。使用该应用程序&#xff0c;您可以加载特定用例的提示列表&#xff0c;并轻松参与对话。如果您是 ChatGPT 和提示工程方面的新手&#xff0c;MatGPT 不失为一个学习的好方…

【Linux】编辑、查看和搜索文件

大多数 Linux 发行版不包含真正的 vi;而是自带一款高级替代版本&#xff0c;叫做 vim(它是“vi improved”的简写)由 Bram Moolenaar 开发的&#xff0c;vim 相对于传统的 Unix vi 来说&#xff0c;取得了实质性进步。 启动和退出 vim 使用vim可以启动&#xff0c;如命令行输…

MySQL概括与SQL分类

文章目录 一、计算机语言二、SQL语言三、数据库系统四、MySQL简介 一、计算机语言 二、SQL语言 三、数据库系统 四、MySQL简介

竞赛保研 基于CNN实现谣言检测 - python 深度学习 机器学习

文章目录 1 前言1.1 背景 2 数据集3 实现过程4 CNN网络实现5 模型训练部分6 模型评估7 预测结果8 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于CNN实现谣言检测 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&am…

搭建知识付费平台?明理信息科技为你提供全程解决方案

明理信息科技saas知识付费平台 在当今数字化时代&#xff0c;知识付费已经成为一种趋势&#xff0c;越来越多的人愿意为有价值的知识付费。然而&#xff0c;公共知识付费平台虽然内容丰富&#xff0c;但难以满足个人或企业个性化的需求和品牌打造。同时&#xff0c;开发和维护…

搭载紫光展锐芯的移远通信RedCap模组顺利通过中国联通OPENLAB实验室认证

近日&#xff0c;移远通信联合紫光展锐在中国联通5G物联网OPENLAB开放实验室&#xff0c;完成了RedCap模组RG207U-CN端到端测试验收&#xff0c;并获颁认证证书。移远通信RG207U-CN成为业内率先通过联通OPENLAB认证的紫光展锐RedCap芯片平台的模组。 本次测试基于联通OPENLAB实…

Golang 的内存管理

文章目录 1.内存管理角色1.常见的内存分配方法线性分配器空闲链表分配器TCMalloc 2.Go 内存管理组件mspanmcache初始化替换微分配器 mcentralmheap 3.内存分配4.内存管理思想参考文献 1.内存管理角色 内存管理一般包含三个不同的组件&#xff0c;分别是用户程序&#xff08;Mu…

【C语言】指针详解(二)

目录 1.指针变量类型的意义 1.1指针的解引用 1.2指针 - 整数 1.3void*指针 2.const修饰指针 2.1const修饰变量 2.2const修饰指针变量 1.指针变量类型的意义 1.1指针的解引用 指针变量的大小和类型无关&#xff0c;只要是指针变量&#xff0c;在同一个平台下&#xff0…

制作成电子版的五金产品册,打开线上消费市场

五金产品作为家庭装修和维修的必备之物&#xff0c;一直深受广大用户的喜爱。然而&#xff0c;传统的五金市场存在着诸多问题&#xff0c;如产品信息不透明、价格混乱、购买不便等。这些问题不仅影响了消费者的购物体验&#xff0c;也制约了五金行业的进一步发展。 现在很多人都…

《Python Advanced Programming + Design Patterns + Clean Code》

清洁代码 — 学习如何编写可读、可理解且可维护的代码 高级Python编程知识 Python之常用设计模式 Advanced Programming装饰器 decorators生成器 & 迭代器with 上下文管理器面向对象Mixin 模式反射机制并发编程 Design Patterns设计模式分类简单工厂模式工厂模式 √抽象工厂…

读取spring boot项目resource目录下的文件

背景 项目开发过程中&#xff0c;有一些情况下将配置文件放在resource下能简化代码实现和部署时的打包步骤。例如&#xff1a; 项目中使用的数据库升级脚本、初始化脚本。将文件放到resource下&#xff0c;打包在jar包中&#xff0c;不能直接通过File路径读取。下面介绍两种读…