管理 Amazon Aurora MySQL 性能和扩展
扩展 Aurora MySQL 数据库实例
您可通过两种方式扩展 Aurora MySQL 数据库实例,即实例扩展和读取扩展。有关读取扩展的更多信息,请参阅读取扩展。
您可以通过修改数据库集群中每个数据库实例的数据库实例类,来扩展 Aurora MySQL 数据库集群。Aurora MySQL 支持多种针对 Aurora 优化的数据库实例类。不要将 db.t2 或 db.t3 实例类用于大小大于 40 TB 的较大 Aurora 集群。有关 Aurora MySQL 支持的数据库实例类的规格,请参阅Amazon Aurora 数据库实例类。
注意
建议仅将 T 数据库实例类用于开发和测试服务器,或其他非生产服务器。有关 T 实例类的更多详细信息,请参阅使用 T 实例类进行开发和测试。
至 Aurora MySQL 数据库实例的最大连接数
允许连接到 Aurora MySQL 数据库实例的最大数量由数据库实例的实例级参数组中的 max_connections
参数确定。
下表列出了可用于 Aurora MySQL 的每个数据库实例类的结果 max_connections
默认值。您可通过增加内存将实例缩放为数据库实例类,或通过将实例的数据库参数组中的 max_connections
参数设置为更大的值(最大为 16,000)来增加至您的 Aurora MySQL 数据库实例的最大连接数。
提示
如果您的应用程序经常打开和关闭连接,或使大量长期连接保持打开,建议您使用 Amazon RDS 代理。RDS 代理是一种完全托管的高可用性数据库代理,它使用连接池安全有效地共享数据库连接。要了解有关 RDS 代理的更多信息,请参阅 适用于 Aurora 的 Amazon RDS 代理。
有关 Aurora Serverless v2 实例如何处理此参数的详细信息,请参阅 Aurora Serverless v2 的最大连接数。
实例类 | max_connections 默认值 |
---|---|
db.t2.small |
45 |
db.t2.medium |
90 |
db.t3.small |
45 |
db.t3.medium |
90 |
db.t3.large |
135 |
db.t4g.medium |
90 |
db.t4g.large |
135 |
db.r3.large |
1000 |
db.r3.xlarge |
2000 |
db.r3.2xlarge |
3000 |
db.r3.4xlarge |
4000 |
db.r3.8xlarge |
5000 |
db.r4.large |
1000 |
db.r4.xlarge |
2000 |
db.r4.2xlarge |
3000 |
db.r4.4xlarge |
4000 |
db.r4.8xlarge |
5000 |
db.r4.16xlarge |
6000 |
db.r5.large |
1000 |
db.r5.xlarge |
2000 |
db.r5.2xlarge |
3000 |
db.r5.4xlarge |
4000 |
db.r5.8xlarge |
5000 |
db.r5.12xlarge |
6000 |
db.r5.16xlarge |
6000 |
db.r5.24xlarge |
7000 |
db.r6g.large | 1000 |
db.r6g.xlarge | 2000 |
db.r6g.2xlarge | 3000 |
db.r6g.4xlarge | 4000 |
db.r6g.8xlarge | 5000 |
db.r6g.12xlarge | 6000 |
db.r6g.16xlarge | 6000 |
db.r6i.large | 1000 |
db.r6i.xlarge | 2000 |
db.r6i.2xlarge | 3000 |
db.r6i.4xlarge | 4000 |
db.r6i.8xlarge | 5000 |
db.r6i.12xlarge | 6000 |
db.r6i.16xlarge | 6000 |
db.r6i.24xlarge | 7000 |
db.r6i.32xlarge | 7000 |
db.r7g.large | 1000 |
db.r7g.xlarge | 2000 |
db.r7g.2xlarge | 3000 |
db.r7g.4xlarge | 4000 |
db.r7g.8xlarge | 5000 |
db.r7g.12xlarge | 6000 |
db.r7g.16xlarge | 6000 |
db.r7i.large | 1000 |
db.r7i.xlarge | 2000 |
db.r7i.2xlarge | 3000 |
db.r7i.4xlarge | 4000 |
db.r7i.8xlarge | 5000 |
db.r7i.12xlarge | 6000 |
db.r7i.16xlarge | 6000 |
db.r7i.24xlarge | 7000 |
db.r7i.48xlarge | 8000 |
db.r8g.large | 1000 |
db.r8g.xlarge | 2000 |
db.r8g.2xlarge | 3000 |
db.r8g.4xlarge | 4000 |
db.r8g.8xlarge | 5000 |
db.r8g.12xlarge | 6000 |
db.r8g.16xlarge | 6000 |
db.r8g.24xlarge | 7000 |
db.r8g.48xlarge | 8000 |
db.x2g.large | 2000 |
db.x2g.xlarge | 3000 |
db.x2g.2xlarge | 4000 |
db.x2g.4xlarge | 5000 |
db.x2g.8xlarge | 6000 |
db.x2g.12xlarge | 7000 |
db.x2g.16xlarge | 7000 |
如果创建新的参数组以自定义您自己的连接限制默认值,您将看到默认连接限制是使用基于 DBInstanceClassMemory
值的公式得出的。正如上表中所示,由于逐渐增大的 R3、R4 和 R5 实例之间的内存加倍,该公式生成的连接限制将增加 1000;而对于 T2 和 T3 实例的不同内存大小,该限制将增加 45。
请参阅指定数据库参数,详细了解 DBInstanceClassMemory
的计算方式。
Aurora MySQL 和 RDS for MySQL 数据库实例的内存开销不同。因此,对于使用相同实例类的 Aurora MySQL 和 RDS for MySQL 数据库实例,max_connections
值可能不同。表中的值仅适用于 Aurora MySQL 数据库实例。
注意
T2 和 T3 实例的连接限制低得多是因为,对于 Aurora,这些实例类仅用于开发和测试方案,而不用于生产工作负载。
在对其他主要内存使用者(例如,缓冲池和查询缓存)使用默认值的系统中,将调整默认连接限制。如果为集群更改这些其他设置,请考虑调整连接限制以将数据库实例上的可用内存增加或减少情况考虑在内。
Aurora MySQL 的临时存储限制
Aurora MySQL 将表和索引储存在 Aurora 存储子系统中。Aurora MySQL 对非持久性临时文件和非 InnoDB 临时表使用单独的临时或本地存储。本地存储还包括用于在查询处理过程中对大型数据集进行排序或者用于索引构建操作等用途的文件。它不包括 InnoDB 临时表。
有关 Aurora MySQL 版本 3 中临时表的更多信息,请参阅 Aurora MySQL 版本 3 中的新临时表行为。有关版本 2 中临时表的更多信息,请参阅 Aurora MySQL 版本 2 中的临时表空间行为。
在启动和停止数据库实例以及更换主机期间,这些卷上的数据和临时文件会丢失。
这些本地存储卷由 Amazon Elastic Block Store(EBS)提供支持,并可以通过使用更大的数据库实例类来进行扩展。有关存储的更多信息,请参阅 Amazon Aurora 存储。
本地存储还用于使用 LOAD DATA FROM
S3
或 LOAD XML FROM S3
从 Amazon S3 导入数据,以及使用 SELECT INTO OUTFILE S3 将数据导出到 S3。有关从 S3 导入和导出到 S3 的更多信息,请参阅以下内容:
Aurora MySQL 使用单独的永久存储空间来存储大多数 Aurora MySQL 数据库实例类的错误日志、常规日志、慢速查询日志和审计日志(不包括可突增性能实例类类型,例如 db.t2、db.t3 和 db.t4g)。在启动和停止数据库实例以及更换主机期间,会保留该卷上的数据。
此永久性存储卷还由 Amazon EBS 提供支持,并且根据数据库实例类别具有固定大小。不能通过使用更大的数据库实例类来对它进行扩展。
下表显示了每个 Aurora MySQL 数据库实例类可用的最大临时和永久性存储空间。有关 Aurora 的数据库实例类支持的更多信息,请参阅 Amazon Aurora 数据库实例类。
数据库实例类 | 最大可用临时/本地存储空间(GiB) | 日志文件可用的额外最大存储空间(GiB) |
---|---|---|
db.x2g.16xlarge | 1 280 | 500 |
db.x2g.12xlarge | 960 | 500 |
db.x2g.8xlarge | 640 | 500 |
db.x2g.4xlarge | 320 | 500 |
db.x2g.2xlarge | 160 | 60 |
db.x2g.xlarge | 80 | 60 |
db.x2g.large | 40 | 60 |
db.r8g.48xlarge | 3840 | 500 |
db.r8g.24xlarge | 1920 | 500 |
db.r8g.16xlarge | 1 280 | 500 |
db.r8g.12xlarge | 960 | 500 |
db.r8g.8xlarge | 640 | 500 |
db.r8g.4xlarge | 320 | 500 |
db.r8g.2xlarge | 160 | 60 |
db.r8g.xlarge | 80 | 60 |
db.r8g.large | 32 | 60 |
db.r7i.48xlarge | 3840 | 500 |
db.r7i.24xlarge | 1920 | 500 |
db.r7i.16xlarge | 1 280 | 500 |
db.r7i.12xlarge | 960 | 500 |
db.r7i.8xlarge | 640 | 500 |
db.r7i.4xlarge | 320 | 500 |
db.r7i.2xlarge | 160 | 60 |
db.r7i.xlarge | 80 | 60 |
db.r7i.large | 32 | 60 |
db.r7g.16xlarge | 1 280 | 500 |
db.r7g.12xlarge | 960 | 500 |
db.r7g.8xlarge | 640 | 500 |
db.r7g.4xlarge | 320 | 500 |
db.r7g.2xlarge | 160 | 60 |
db.r7g.xlarge | 80 | 60 |
db.r7g.large | 32 | 60 |
db.r6i.32xlarge | 2560 | 500 |
db.r6i.24xlarge | 1920 | 500 |
db.r6i.16xlarge | 1 280 | 500 |
db.r6i.12xlarge | 960 | 500 |
db.r6i.8xlarge | 640 | 500 |
db.r6i.4xlarge | 320 | 500 |
db.r6i.2xlarge | 160 | 60 |
db.r6i.xlarge | 80 | 60 |
db.r6i.large | 32 | 60 |
db.r6g.16xlarge | 1 280 | 500 |
db.r6g.12xlarge | 960 | 500 |
db.r6g.8xlarge | 640 | 500 |
db.r6g.4xlarge | 320 | 500 |
db.r6g.2xlarge | 160 | 60 |
db.r6g.xlarge | 80 | 60 |
db.r6g.large | 32 | 60 |
db.r5.24xlarge | 1920 | 500 |
db.r5.16xlarge | 1 280 | 500 |
db.r5.12xlarge | 960 | 500 |
db.r5.8xlarge | 640 | 500 |
db.r5.4xlarge | 320 | 500 |
db.r5.2xlarge | 160 | 60 |
db.r5.xlarge | 80 | 60 |
db.r5.large | 32 | 60 |
db.r4.16xlarge | 1 280 | 500 |
db.r4.8xlarge | 640 | 500 |
db.r4.4xlarge | 320 | 500 |
db.r4.2xlarge | 160 | 60 |
db.r4.xlarge | 80 | 60 |
db.r4.large | 32 | 60 |
db.t4g.large | 32 | – |
db.t4g.medium | 32 | – |
db.t3.large | 32 | – |
db.t3.medium | 32 | – |
db.t3.small | 32 | – |
db.t2.medium | 32 | – |
db.t2.small | 32 | – |
重要
这些值表示每个数据库实例理论上的最大可用存储空间。可供您使用的实际本地存储空间可能会更小。Aurora 会在管理过程中占用一些本地存储,数据库实例甚至在加载任何数据之前也会占用一些本地存储。您可以使用 FreeLocalStorage
CloudWatch 指标监控指定数据库实例可用的临时存储,如 Amazon Aurora 的 Amazon CloudWatch 指标 中所述。目前您可以检查空闲存储空间大小。您还可以随时间推移绘制空闲存储空间大小。监控一段时间内的空闲存储情况可以帮助您确定空闲存储空间大小是在增加还是减少,或者找到最小值、最大值或平均值。
(这不适用于 Aurora Serverless v2。)