RDS提供多种主实例规格以满足不同业务场景下对性能、稳定性及成本的要求,选择合适的实例规格是优化数据库性能和成本的关键步骤。本文旨在帮助您了解RDS主实例的规格信息、各规格的具体配置和核心参数说明。
各引擎主实例规格表
您可以通过下表查询各引擎主实例规格及对应的规格族、CPU、内存、实例规格最大IOPS和最大IO带宽等参数。
实例引擎 | 支持产品类型 | 支持存储类型 | 主实例规格表 |
MySQL | 标准版、倚天版 | 云盘、高性能本地盘 | |
PostgreSQL | 标准版、倚天版 | 云盘 | |
SQL Server | 不涉及 | 云盘 | |
MariaDB | 标准版 | 云盘 |
核心概念说明
各引擎主实例规格表中主要涉及以下三个核心概念:实例规格族、IOPS和IO带宽。
实例规格族
实例规格族决定了资源的分配方式,会直接影响实例性能。
规格族 | 存储类型 | 独享/共享资源 | 说明 |
共享型 | 云盘 |
|
|
通用型 | 云盘 |
| 当物理机负载过高时,可能存在性能波动。 |
高性能本地盘 |
| ||
独享型 | 云盘 | 完全独享CPU、内存、存储介质以及I/O资源。 | 性能稳定,无资源争抢。 |
高性能本地盘 |
| ||
独占物理机 | 高性能本地盘 | 完全独享CPU、内存、存储介质以及I/O资源。 | 提供最高的性能稳定性和隔离性。 |
IOPS
IOPS反映了存储系统处理读写请求的能力,是衡量随机I/O性能的关键指标。影响实例IOPS的主要因素为:实例规格、存储类型和存储容量,您可以在各引擎主实例规格表中查找对应实例规格的最大IOPS,但实例的实际IOPS上限需通过以下内容计算:
高性能本地盘实例:实际IOPS上限仅受实例规格影响,主实例规格表中的最大IOPS即为实际IOPS上限。
云盘实例:实际IOPS上限受实例规格、存储容量和存储类型三者共同影响,计算公式如下:
存储类型
实际最大IOPS计算公式(存储空间单位:GB)
高性能云盘
开启IO性能突发
min{实例规格最大IOPS,1000000}
未开启IO性能突发
min{实例规格最大IOPS, 1800+50*存储空间, 50000}
ESSD云盘
PL3
min{实例规格最大IOPS, 1800+50*存储空间, 1000000}
PL2
min{实例规格最大IOPS, 1800+50*存储空间, 100000}
PL1
min{实例规格最大IOPS, 1800+50*存储空间, 50000}
SSD云盘
min{实例规格最大IOPS, 1800+30*存储空间, 25000}
示例:以ESSD PL1云盘,实例规格mysql.x2.large.2c
,存储空间20 GB为例,计算该实例的实际IOPS:
限制因素 | 说明 |
实例规格 | 查询主实例规格表, |
存储空间 | 20 GB存储空间对应的IOPS上限为 |
存储类型 | ESSD PL1云盘对应的IOPS上限为 |
该实例实际的IOPS上限取上述三者间最小值:2800(主要受存储空间限制)。
数据库实际读写次数与磁盘I/O并非等价关系。以MySQL为例,单次MySQL读写默认为16KB,而云盘I/O块大小为4KB,因此MySQL执行一次读写会消耗4次云盘I/O。
在相同磁盘I/O的情况下,因不同引擎的默认页(Page)大小不同,会导致数据库读实际写次数不同(即在相同IOPS指标下,不同数据库的读写处理能力不同)。例如:云盘I/O块大小为4KB,同样是1000次磁盘I/O,对应MySQL引擎(默认页大小为16KB)实际读写次数为250次,对应SQL Server引擎(默认页大小为8KB)实际读写次数为500次。
IO带宽(吞吐量)
IO带宽反映了存储系统连续读写数据的能力,是衡量顺序I/O性能的关键指标。影响实例IO带宽的主要因素为:实例规格、存储类型和存储容量,您可以在主实例规格表中查找对应实例规格的最大IO带宽,但实例的实际IO带宽上限需通过以下内容计算:
存储类型 | 云盘实例实际IO带宽性能公式(IO带宽单位:MB/s、存储空间单位:GB) | |
高性能云盘 | 开启IO性能突发 |
|
未开启IO性能突发 |
| |
ESSD云盘 | PL3 |
|
PL2 |
| |
PL1 |
| |
SSD云盘 |
|
示例:以ESSD PL3云盘,实例规格mysql.x2.large.2c
,存储空间5000 GB为例,计算该实例的实际IO带宽上限:
限制因素 | 说明 |
实例规格 | 查询主实例规格表, |
存储空间 | 5000 GB存储空间对应的IO带宽上限为 |
存储类型 | ESSD PL3云盘对应的IO带宽上限为 |
该实例实际的IO带宽上限取上述三者间最小值:192(主要受实例规格限制)。
IOPS与IO带宽间的制约关系
云盘IOPS与IO带宽并非独立的性能指标,除共同受实例规格、存储类型和存储空间影响外,两者之间也会互相制约:
换算公式:
IO带宽(MB/s) = IOPS × I/O块大小(KB) / 1024
(此处I/O块大小指磁盘单次I/O操作大小(云盘默认为为4KB),而非数据库的页(Page) 大小。)制约关系:大部分情况下,IOPS和IO带宽不会同时触达上限。
当IOPS达到上限时,如果I/O块较小(如4KB),实例IO带宽可能未达上限,此时IOPS会成为业务性能瓶颈。
当IO带宽达到上限时,如果I/O块较大(如256KB),实例IOPS可能未达上限,此时IO带宽会成为业务性能瓶颈。
常见问题
Q1:为什么入门级规格的性能看起来比企业级规格的性能要好?
A:因为入门级规格一般是共享/通用型规格族,企业级规格一般是独享型规格族。实际使用中企业级规格由于独享CPU和内存,会更加稳定。详细区别,请参见实例规格族。
Q2:想查询当前售卖资源怎么办?
A:可以在售卖页查询或使用DescribeAvailableResource接口查询。
Q3:为什么不展示QPS和TPS?
A:QPS和TPS需要RDS上面部署相关对象测试。同一个规格的实例在不同业务系统中,根据实现方法不同,QPS和TPS也会有较大的差距。QPS和TPS的测试方法,请参见性能测试指导。
相关内容
RDS还支持通过添加只读实例(MySQL只读实例、SQL Server只读实例、PostgreSQL只读实例)来扩展读性能。关于只读实例规格,请参见只读实例规格列表。
选定主实例规格后您就可以创建并使用实例。具体操作,请参见快速创建RDS MySQL实例、快速创建RDS SQL Server实例、快速创建RDS PostgreSQL实例。