自动缩放
自动缩放旨在响应 IBM Cloud® Databases for MongoDB 部署上的资源使用中短期趋势。 启用后,将按您指定的时间间隔检查部署。 如果资源不足,那么会将更多资源添加到部署中。 要关注资源,请使用 IBM Cloud® Monitoring 集成,它提供内存,磁盘空间和磁盘 I/O 利用率的度量。
您可以将部署设置为自动缩放磁盘和/或 RAM。
一般自动缩放参数:
- 何时缩放,根据一段时间内的使用情况而定。
- 按要扩展的资源量 (以每个成员的资源百分比表示)。
- 缩放频率 (以秒,分钟或小时计)。
- 对于缩放的硬限制,您的部署将在该限制处停止缩放。

内存-内存自动缩放基于磁盘 I/O 利用率,以在读/写负载增加时为磁盘高速缓存提供更多内存。 好处是额外的内存可以通过支持更多高速缓存来减轻磁盘 I/O 的压力。 基于内存使用情况的自动缩放配置当前不可用。
磁盘-磁盘自动缩放可以在磁盘使用率达到特定阈值和/或磁盘 I/O 利用率达到特定阈值时进行缩放。 (UI 中的 "或" 用作 inclusive or
,|
或 v
。) 可供部署使用的 IOPS 数量会增加,磁盘大小与每 GB 的 IOPS 比率为 10。
隔离计算不支持 CPU 和 RAM 自动扩展。 可进行磁盘自动扩展。 如果您配置了隔离实例或从自动扩展部署切换过来,请使用 IBM Cloud® Monitoring集成)监控您的资源,该集成可提供内存、磁盘空间和磁盘 I/O 利用率指标。 要为实例添加资源,请手动扩展部署。
资源号指的是部署中的每个数据库节点。 例如,MongoDB 部署中有三个数据成员,如果部署使用 10 GB 磁盘和 1 GB RAM 进行缩放,那么这意味着每个成员会获取 10 GB 磁盘和 1 GB RAM。 添加到部署的总资源为 30 GB 磁盘和 3 GB RAM。
自动扩展注意事项
-
向上扩展部署可能会导致数据库重新启动。 如果需要将已缩放的部署移动到具有更多容量的主机,那么将在移动过程中重新启动数据库。
-
磁盘不能缩小。
-
少数缩放操作的运行时间可能比其他操作长。 大幅增加 RAM 或磁盘可能需要比较小的增加时间更长的时间来考虑供应更多的底层硬件资源。
-
自动缩放操作记录在 IBM Cloud® Activity Tracker Event Routing 中。
-
限制:
- 无法设置任何东西在少于 60 秒的时间间隔内缩放。
- 每个成员的最大磁盘容量 = 4 TB。
- 每个成员的最大内存 = 112 GB。
-
在磁盘或内存使用量缩减的情况下,自动缩放功能不会缩减部署。 为部署调配的 RAM 将保留,以满足未来的需求,或直到您手动缩减部署规模。 由于无法缩减磁盘,因此将保留供应给部署的磁盘。
-
如果您只需要偶尔或很少向部署添加资源,那么可以 手动缩放 部署。
在用户界面中配置自动扩展
自动缩放面板位于部署的“_管理 _”页面的“资源”选项卡上。 要启用缩放功能,请输入参数。 然后,选中要启用参数的复选框。 请务必单击“保存更改”,以保存配置并使更改生效。
要禁用自动缩放功能,请清除不想再使用的参数框。 如果清除所有复选框,自动缩放功能将被禁用。 单击保存更改保存配置。
隔离计算不支持 CPU 和 RAM 自动扩展。 可进行磁盘自动扩展。 如果您配置了隔离实例或从自动扩展部署切换过来,请使用 IBM Cloud® Monitoring集成)监控您的资源,该集成可提供内存、磁盘空间和磁盘 I/O 利用率指标。 要为实例添加资源,请手动扩展部署。
在 CLI 中配置自动扩展
您可以使用 cdb deployment-autoscaling
命令通过 CLI 获取部署的自动缩放参数。
ibmcloud cdb deployment-autoscaling <INSTANCE_NAME_OR_CRN> member
要通过 CLI 启用和设置自动缩放参数,请将 JSON 对象或文件与 cdb deployment-autoscaling-set
命令配合使用。
ibmcloud cdb deployment-autoscaling-set <INSTANCE_NAME_OR_CRN> member '{"autoscaling": { "memory": {"scalers": {"io_utilization": {"enabled": true, "over_period": "5m","above_percent": 90}},"rate": {"increase_percent": 10.0, "period_seconds": 300,"limit_mb_per_member": 125952,"units": "mb"}}}}'
隔离计算不支持 CPU 和 RAM 自动扩展。 可进行磁盘自动扩展。 如果您配置了隔离实例或从自动扩展部署切换过来,请使用 IBM Cloud® Monitoring集成)监控您的资源,该集成可提供内存、磁盘空间和磁盘 I/O 利用率指标。 要为实例添加资源,请手动扩展部署。
在应用程序接口中配置自动扩展
您可以通过 API 向 /deployments/{id}/groups/{group_id}/autoscaling
端点发送 GET
请求来获取部署的自动缩放参数。 通过将所需的 scalers
(io_utilization
或 capacity
) 设置为 true
来启用自动缩放工作。
curl -X GET -H "Authorization: Bearer $APIKEY" 'https://api.{region}.databases.cloud.ibm.com/v4/ibm/deployments/{id}/groups/member/autoscaling'
要通过 API 为部署启用和设置自动缩放参数,请向端点发送 POST
请求。 通过将 scalers
(io_utilization
或 capacity
) 设置为 true
来启用自动缩放工作。
curl -X PATCH https://api.{region}.databases.cloud.ibm.com/v4/ibm/deployments/{id}/groups/member/autoscaling \
-H 'Authorization: Bearer <>' \
-H 'Content-Type: application/json' \
-d '{
"autoscaling": {
"memory": {
"scalers": {
"io_utilization": {
"enabled": true,
"over_period": "5m",
"above_percent": 90
}
},
"limits": {
"scale_increase_percent": 10,
"scale_period_seconds": 30,
"scale_maximum_mb": 125952,
"units": "mb"
}
}
}
}'
要禁用自动缩放,请发送当前已启用的缩放器设置为 false
的 PATCH 请求。 如果所有这些属性都设置为 false
,那么将在部署上禁用自动缩放。
隔离计算不支持 CPU 和 RAM 自动扩展。 可进行磁盘自动扩展。 如果您配置了隔离实例或从自动扩展部署切换过来,请使用 IBM Cloud® Monitoring集成)监控您的资源,该集成可提供内存、磁盘空间和磁盘 I/O 利用率指标。 要为实例添加资源,请手动扩展部署。