当业务持续发展和数据量增加、新业务或新功能上线等导致数据库流量增加、计算资源不足时,扩容数据库计算规格(CPU和内存)是一种有效的方式。数据库自治服务DAS支持自动扩容数据库实例的计算规格,以便快速弹性适配高峰流量。并且支持在流量下降时进行规格回缩,避免资源浪费。
前提条件
目标数据库实例为:
数据库
地域
RDS MySQL高可用云盘系列(通用型和独享型)、高可用本地盘系列(通用型)、三节点企业系列(通用型)
PolarDB MySQL版的集群版
自动性能扩展功能依赖异常检测,目标数据实例所属的地域必须支持异常检测。目前支持的地域有:
华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东5(南京)、华东6(福州)、西南1(成都)、郑州、中国(香港)、日本(东京)、韩国(首尔)、新加坡、马来西亚(吉隆坡)、印度尼西亚(雅加达)、菲律宾(马尼拉)、泰国(曼谷)、阿联酋(迪拜)、沙特(利雅得)、德国(法兰克福)、美国(硅谷)、美国(弗吉尼亚)和英国(伦敦)
说明RDS MySQL数据库实例已下线的规格,不支持自动性能扩展功能,您可以按照需要先变更数据库实例的规格,然后再使用自动性能扩展功能。变更数据库实例规格的具体操作请参见变更配置。
账户内需要有足够的余额支撑扩容。
已创建DAS服务关联角色。
说明若您尚未创建DAS服务关联角色,开启自动性能扩展功能将在执行自动性能扩展前为您自动创建。
自动扩容流程
自动扩容
开启自动扩容后,当观测窗口内数据库实例的CPU平均利用率达到设置的阈值时:
在扩容状态下,可能遇到一些极端场景,如发生HA切换、主机资源严重不足、与现有管控流程冲突造成扩容的资源被回收,建议核心实例短期使用弹性自动扩容功能衡量峰值CPU上限,长期建议根据业务高峰CPU使用情况升级实例规格。
对于RDS MySQL高可用系列云盘版和PolarDB MySQL版的集群版实例:
DAS将根据当前实例的负载情况,在扩容规格上限范围内自动选择合适的规格执行扩容操作。完成扩容后,DAS会继续监测CPU利用率,如果再次满足自动扩容的条件会继续扩容,直到扩容至您设置的规格上限。
对于RDS MySQL高可用系列本地盘版(通用型)和RDS MySQL三节点企业系列(通用型)实例:
DAS会在原规格的基础上,将CPU核数提升2倍。例如原规格的CPU核数为4核,则会提升至8核。同时,实例的IOPS会同步上升,每提升1核,IOPS增加1000。若主机中没有足够的CPU资源,则扩容不会进行。
说明仅支持在原规格的基础上将CPU核数提升2倍,无法在提升后的CPU核数上继续提升。例如提升后的CPU核数为8核,此时无法再提升至16核。
自动回缩
当实例开启了自动回缩功能,并且在此之后发生了自动扩容,那么在满足回缩条件时,系统将根据之前扩容提升时的规格等级逐步自动回缩实例规格,直至恢复到本次自动扩容前的状态。但是,如果自动扩容发生在启用自动回缩功能之前,即便后来开启了自动回缩功能,系统也不会对之前的扩容进行回缩处理。
对于RDS MySQL高可用系列云盘版和PolarDB MySQL版的集群版实例:
开启自动回缩后,如果实例不在静默期,且缩容观测窗口期间CPU利用率小于30%的时间占比超过99%,则系统将自动逐级回缩实例规格,直到回缩至扩容前规格。
重要缩容观测窗口时长为
观测窗口+10分钟
。例如,观测窗口设置为30分钟时,缩容观测窗口为40分钟。对于RDS MySQL高可用系列云盘版实例,自动回缩功能仅保证在新架构(kindcode=18)版本上稳定运行。您可以通过API查询实例架构版本,详情请参见DescribeDBInstanceAttribute - 查询实例详情。
对于RDS MySQL高可用系列本地盘版(通用型)和RDS MySQL三节点企业系列(通用型)实例:
在选定的缩容观测窗口期间,CPU利用率低于30%的时间占比超过99%,系统会自动将CPU核数以及IOPS回缩至扩容前规格。
开启自动性能扩展功能后,系统会以最新的配置参数为准对数据库实例进行监控,当数据库实例满足自动扩容或自动回缩条件时,系统会对数据库实例进行自动扩容或自动回缩。
关于自动性能扩展的详细技术解读,请参见DAS Auto Scaling弹性能力。
费用说明
场景示例
若您通过DAS开启自动性能扩展,在业务高峰期时DAS会自动触发扩容,弹性扩容后,读写流量提升一倍,CPU利用率由90%以上降至25%,高负载持续运行近10个小时。当流量回落,CPU利用率降至25%以下,DAS自动触发规格回缩操作,回缩至变配前的规格。
整个过程,DAS通过弹性伸缩适配高峰流量,有效保障了线上业务稳定性。
影响
对于RDS MySQL高可用系列云盘版和PolarDB MySQL版的集群版实例,在变更配置生效期间,可能会出现一次约30秒的闪断,请确保应用具有重连机制。
对于PolarDB MySQL版的集群版实例,只能对整个集群进行规格升降级,无法对集群中的单个节点进行规格升降级。
为保障更出色的性能和稳定性,如果实例的小版本非最新,在变更配置时,系统会将实例的小版本升级至最新。
扩容操作只会在主实例上进行。 如果主实例扩容后触发了主备切换,那么:
主实例(原备实例)在满足扩容、缩容触发条件时,系统会自动对主实例(原备实例)进行扩容、缩容操作。
备实例(原主实例)在满足缩容触发条件时,系统会自动将被备实例(原主实例)回缩至原规格。
操作步骤
登录DAS控制台。
在左侧导航栏中,单击实例监控。
找到目标实例,单击实例ID,进入目标实例详情页。
在左侧导航栏中,单击自治中心。
在自治中心页,单击右侧的自治功能开关。
在 页签中,打开自治功能开关。
在优化和限流页签设置如下参数:
对于RDS MySQL数据库实例,RDS MySQL高可用系列云盘版请勾选自动性能扩展,RDS MySQL高可用系列本地盘版(通用型)和RDS MySQL三节点企业系列(通用型)请勾选自动资源弹性,并设置如下参数:
实例类型
参数
说明
通用
CPU平均利用率不小于
自动扩容的触发阈值。当CPU平均利用率大于或等于设置的值时,就会触发自动扩容。
高可用系列云盘版实例
观测窗口
实例性能的观测时间。系统会在选定的观测期间周期性检测实例的CPU利用率,当CPU平均利用率达到触发阈值时,就会触发自动扩容。
重要缩容观测窗口时长为
观测窗口+10分钟
。例如,观测窗口设置为30分钟时,缩容观测窗口为40分钟。规格上限
自动扩容的规格上限。如果达到了自动扩容的阈值,DAS会逐级扩容规格并继续监测CPU平均利用率,如在观测窗口内再次达到自动扩容的阈值,会继续扩容,直到扩容至您设置的规格上限。
重要当实例规格为1核 2GB时,触发自动扩容会将实例直接扩容至4核 8GB。此时,规格上限最小需要设置为4核 8GB,否则会自动扩容失败。
自动回缩
开启自动回缩后,如果实例不在静默期,且缩容观测窗口(
观测窗口+10分钟
)期间CPU利用率小于30%的时间占比超过99%,DAS将自动逐级回缩实例规格,直到回缩至原始规格。静默期
两次自动扩容或自动回缩的最小时间间隔。在静默期内,DAS会持续进行观测,但不会触发自动扩容或缩容。若在静默期与观测窗口同时结束,且该观测窗口内CPU利用率达到调整阈值,DAS会在静默期和观测窗口同时结束时触发自动规格调整。
高可用系列本地盘版(通用型)和三节点企业系列(通用型)实例
扩容观测窗口
实例性能的观测时间。系统会在选定的观测期间周期性检测实例的CPU利用率,当CPU平均利用率达到触发阈值时,则会触发自动扩容。
回缩观测窗口
实例性能的回缩观测时间。系统会在选定的回缩观测期间周期性检测实例的CPU利用率,当CPU利用率低于30%的时间占比超过99%,则会触发自动性能回缩。
对于PolarDB MySQL版数据库实例,勾选自动扩容和自动回缩,并设置如下参数:
重要勾选自动扩容后,在整个观测窗口内如果CPU平均利用率大于或等于设定值,则在观测窗口结束后,PolarDB将根据集群负载进行扩容。例如阈值为70%,观测窗口期是5分钟,自动扩容的时间是10分钟,所以当集群某节点在观测窗口内的平均CPU利用率超过70%时,将对集群进行扩容。对集群进行扩容时,将根据实时读写流量情况选择增加节点或升配的扩容方式,读流量主导时默认将增加只读节点,写流量主导时将提升集群规格。而在主节点实例负载过高等特殊情况,将选择提升集群规格。
勾选自动回缩后,如果实例不在静默期,且缩容观测窗口(
观测窗口+10分钟
)期间触发自动扩容节点的CPU平均利用率小于30%的时间占比超过99%,则系统将自动逐级回缩PolarDB MySQL版集群规格,直到回缩至原始规格。若扩容时增加只读节点,则缩容时将逐个减少只读节点;若扩容时提升集群规格,则缩容时将进行规格降级。注意,对于PolarDB MySQL版的集群版实例,只能对整个集群进行规格升降级,无法对集群中的单个节点进行规格升降级。
参数名称
参数说明
CPU平均利用率不小于
自动扩容的触发阈值。当CPU平均利用率大于或等于设置的值时,就会触发自动扩容。
规格上限
自动扩容的规格上限。触发自动扩容后,会逐级扩容PolarDB的集群规格,例如从4核到8核再到16核,直到升级至扩容规格的上限。
只读节点数量上限
自动扩容只读节点的数量上限。触发自动扩容后,系统会根据实际情况增加1~2个PolarDB的只读节点,直到增加至上限。
说明自动扩容的节点会加入集群默认地址,自定义地址需要配置新节点自动加入。关于如何配置新节点自动加入,详情请参见配置数据库代理。
观测窗口
在整个观察窗口期内,若CPU平均利用率大于等于设定值,则在观测窗口结束后,DAS将根据集群的实时读写流量情况选择增加节点或升配的扩容方式。例如观测窗口期是5分钟,自动扩容的时间是10分钟,所以您需要等待15分钟左右才能看到自动扩容的效果。
重要缩容观测窗口时长为
观测窗口+10分钟
。例如,观测窗口设置为30分钟时,缩容观测窗口为40分钟。静默期
两次自动扩容或自动回缩的最小间隔时间。在静默期内,DAS会持续进行观测,但不会触发自动扩容或缩容。若在静默期与观测窗口同时结束,且该观测窗口内CPU利用率达到调整阈值,DAS会在静默期和观测窗口同时结束时触发自动规格调整。
单击确定。
常见问题
Q:如果实例规格已达到所属系列的规格上限,无法进行扩容,如何处理?
A:推荐购买实例其他系列的更高规格,例如RDS MySQL的高可用独享规格最大支持104核 768GB。然后将实例迁移至新购的实例。数据库实例的规格信息和迁移方案,请参照:
RDS MySQL:RDS MySQL产品规格和RDS实例间数据迁移。
PolarDB MySQL版:PolarDB MySQL版产品规格和PolarDB MySQL版间迁移。