一、操作场景
·快速应对峰值:在业务高峰来临时手动增加核数,缓解突发请求带来的性能压力,扩容即时生效、快于常规变更配置,结束后回缩。
·按需付费:扩容部分的 CPU 按实际使用时长计费,无需为应对峰值而长期预留高配规格,避免资源闲置和成本浪费。
二、功能说明
CPU 弹性扩容当前支持自定义扩容(立即生效)模式:由你手动开启扩容并指定扩容核数,开启后立即在原始规格基础上增加核数,手动关闭后回缩至原始规格。
三、扩容与回缩
CPU 弹性扩容在实例原始规格之上临时叠加 CPU 核数,而非永久变更实例规格,因此扩容与回缩是一对可逆操作:
·扩容:开启自定义扩容后,系统立即在原始规格基础上增加你指定的 CPU 核数,新增算力随即投入使用,无需重新购买或变更实例规格。在你手动关闭前,扩容部分持续生效并按时长计费。
·回缩:手动关闭后,系统将 CPU 核数回缩至原始规格,扩容部分同步停止计费。由于扩容不改变实例的原始规格,回缩后实例即恢复至扩容前的状态。
注意:说明:
注意:CPU 弹性扩容不附带额外的 IOPS 资源。云数据库 MongoDB 当前未对 IOPS 做细分限制,因此 IOPS 不随 CPU 核数变化。
四、扩容核数
自定义扩容单次扩容增加的核数遵循以下上限规则:
增加核数上限 = MIN(当前最小分片的 CPU 核数,24核)
·副本集实例:在原始核数基础上增加不超过24核。
·分片集群实例:取当前所有分片中最小的分片核数与24核两者的较小值作为单分片的扩容上限,各分片整体执行弹性扩容。
五、分片集群的扩容结果
分片集群实例按整体执行弹性扩容,允许出现部分分片扩容成功、部分分片扩容失败的情况:
·扩容全部成功:执行状态为扩容成功。
·扩容部分成功:执行状态为扩容部分成功,未成功的分片由后台触发告警。
六、使用限制
| 限制项 | 说明 | 应对建议 |
| 原始核数上限 | 实例原始 CPU 核数不能超过32核。例如原始规格为48核的实例,不支持开启 CPU 弹性扩容功能。 | 原始规格已超过32核且需提升算力时,可通过变更配置直接升级实例规格。 |
| 扩容核数上限 | 单次扩容增加的核数为 MIN(当前最小分片的核数,24核)。 | 若所需算力超过单次扩容上限,建议通过变更配置升级原始规格。 |
| 实例版本 | 实例的 MongoDB 版本需为4.0及以上。 | 版本低于4.0的实例需先升级 MongoDB 版本,再开启弹性扩容。 |
| 实例类型 | 暂不支持云盘版实例。 | 云盘版实例如需提升算力,可通过变更配置调整规格。 |
| 持续计费 | 自定义扩容开启后在手动关闭前持续扩容并计费,不会自动回缩。具体信息,请参见 CPU 弹性扩容计费。 | 业务无需额外资源后及时手动关闭,避免产生持续费用。 |
七、与变更配置的关系
开启 CPU 弹性扩容功能的实例在执行变更配置操作时,需注意以下影响:
·调整 Mongod 节点规格:手动调整配置完成后,CPU 弹性扩容功能将自动关闭。请关注业务在规格变更后的 CPU 使用情况,如需继续使用弹性扩容,请在变更后手动重新开启。
·增减 Mongod 节点或变更 Mongos:在整个操作过程中,弹性扩容将暂时失效,不会触发扩容。操作完成后,弹性扩容功能自动恢复并按规则生效。
八、与其他流程的关系
·不互锁的流程:弹性扩容触发的加 CPU 流程,与克隆、备份、整实例回档等非必要互锁流程不互锁,可同时进行。
·可被中断的流程:弹性扩容的任务优先级低于客户手动变配。开启弹性扩容不阻塞垂直扩缩容和水平扩缩容,当业务需要应对长时间高峰时,可通过手动升配中断弹性扩容流程。
·被阻塞的场景:当实例处于互斥流程(例如 Mongod 水平分片、Mongos 水平或垂直扩缩容)中时,弹性扩容开启时触发的加 CPU 流程会被阻塞。