有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
云数据库 MySQL 支持手动扩展当前实例的 CPU 上限,也可以根据设定的 CPU 平均使用率阈值和观测周期进行自动扩缩容,能更好的缓解突发请求带来的性能压力,适配业务高峰流量,保障线上业务稳定性。本文介绍 CPU 弹性扩容的功能简介。

背景

在较多业务场景中,业务高峰期或突发流量洪峰会导致服务器负载面临极大的压力,应用程序的 CPU 使用率会急剧增加,如果不能及时扩容 CPU 资源,可能会导致系统性能下降、请求响应时间延长等问题,严重影响用户体验和满意度。除了突发流量的场景,当出现数据库缓存命中率低、索引失效、数据库死锁、数据库查询语句复杂、大量并发更新操作等场景且硬件配置不足时,也会造成 CPU 被打爆的情况。
传统解决方案

当发现 CPU 被打爆时,由用户通过控制台手动申请升配操作,然后等待升配完成,升配完成的时间受数据量影响,等待时长不确定,且升配过程中可能会出现闪断,会影响业务的正常运行,从升配完成到业务流量恢复平稳后,还需要人工通过控制台申请降配。综上,传统解决方案存在需要反应迅速、预期时间不定、有闪段风险、后续工作较多的不足。
CPU 弹性扩容

CPU 弹性扩容功能基于云环境优势,可实现动态分配 CPU 资源(当数据库访问量增加或 CPU 资源占用率上升时,可以自动添加更多的 CPU 资源,并在高峰期结束后自动缩减)。用户可在控制台上选择是否开启 CPU 弹性扩容功能,根据业务的需求和业务量动态地配置数据库的 CPU 资源,从而完成弹性扩展,应对高峰压力,确保数据库实例的高性能、高可用性和高稳定性。

功能类型

CPU 弹性扩容功能类型分为自动扩容和手动扩容,其中,开启自动扩容,需要对扩容和缩容的阈值条件进行设置,开启手动扩容,需要选择增加的 CPU 核心数,手动扩容后不会自动缩容,需要手动关闭。

自动扩容

自动扩容
开启 CPU 弹性扩容 -> 自动扩容后,当观测窗口内数据库实例的 CPU 平均利用率达到设定的阈值时,在原始计算规格的基础上,系统会将 CPU 核数提升2倍。例如原始计算规格的 CPU 核数为4核,则会提升至8核,同时,实例的 IOPS 会同步上升,CPU 核数每提升1核,IOPS 增加1000。若用户的腾讯云账户余额不足或主机中没有足够的 CPU 资源(概率较低),则扩容不会进行,随即发送扩容失败事件。
说明
仅支持在原始计算规格的基础上将 CPU 核数提升2倍,无法在提升后的 CPU 核数上继续提升。例如提升后的 CPU 核数为8核,此时无法再提升至16核。
自动缩容
开启 CPU 弹性扩容 -> 自动扩容后,在设定的自动缩容观测窗口期间内,CPU 利用率低于设定的阈值时,系统会自动将 CPU 核数以及 IOPS 回缩至原始计算规格。
说明
开启 CPU 弹性扩容 -> 自动扩容功能后,系统会以最新的配置参数为准,对数据库实例进行监控,当数据库实例满足自动回缩条件时,系统会对数据库实例进行自动回缩。
要了解开启自动扩容、关闭自动扩容、扩缩容阈值设置的操作,请参见 设置自动扩容

手动扩容

手动扩容
开启 CPU 弹性扩容 -> 手动扩容时,实例按照扩容后的 CPU 核数运行。
手动关闭
在开启 CPU 弹性扩容 -> 手动扩容后,当业务无需更多 CPU 资源时,用户需手动关闭 CPU 弹性扩容,否则收费会持续进行。
要了解开启手动扩容、关闭手动扩容的操作,请参见 设置手动扩容

自动扩容与手动扩容对比

功能类型
功能开启成功截图
CPU 上限
回缩流程
事件告警
计费
自动扩容



原始 CPU 核数的2倍
根据设置的回缩阈值自动回缩
支持
成功触发自动扩容才开始计费,回缩后不计费
手动扩容



支持1核单位扩容,最高支持原始 CPU 核数的2倍
不能自动回缩,需手动关闭扩容,关闭后立即回缩至原始 CPU 核数
支持
开启手动扩容至手动关闭前会一直计费

事件告警说明

针对自动扩容和手动扩容,支持设置相关的事件告警并配置告警通知。以下为 CPU 弹性扩容相关的事件指标及说明。
扩容类型
事件指标
说明
自动扩容
CPUExpansion
CPU 自动扩容成功
CPUExpansionFailed
CPU 自动扩容失败
CPUConstraction
CPU 自动回缩成功
手动扩容
CPUExpansion
CPU 手动扩容成功
CPUExpansionFailed
CPU 手动扩容失败
CPUConstraction
CPU 手动扩容关闭
自动扩容失败以及手动扩容失败的原因有两种:用户的腾讯云账户余额不足或者主机 CPU 资源不足(极小概率)。若账户余额不足导致扩容失败,用户可为账户充值后重试,其他原因可 提交工单 反馈。
要了解事件告警的设置步骤,请参见 开启事件告警

功能影响说明

双节点、三节点实例 CPU 弹性扩容功能会同时在主节点和备节点上生效,即如果 CPU 弹性扩容功能生效后双节点、三节点实例发生了 HA 切换,那么切换后的节点也将为扩容后的 CPU 规格,自动缩容或关闭手动扩容后,会自动回缩至原始 CPU 规格。
只读实例和灾备实例需单独开启功能,不同时扩容,即主实例 CPU 弹性扩容功能触发生效后,该主实例挂载的只读实例、灾备实例不会同时随之扩容 CPU,均需要单独开启 CPU 弹性扩容功能。

相关操作