云数据库 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 弹性扩容功能。
相关操作
本页内容是否解决了您的问题?