自动缩放
自动缩放旨在响应 IBM Cloud® Databases for MySQL 部署上资源使用情况的中短期趋势。 启用后,将按您指定的时间间隔检查部署。 如果资源不足,那么会将更多资源添加到部署中。 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 利用率指标。 要为实例添加资源,请手动扩展部署。
资源号指的是部署中的每个数据库成员。 例如,MySQL部署中有三个数据成员,如果部署使用 10 GB 磁盘和 1 GB 内存进行扩展,那么每个成员将获得 10 GB 磁盘和 1 GB 内存。 添加到部署的总资源为 30 GB 磁盘和 3 GB RAM。
自动扩展注意事项
-
向上扩展部署可能会导致数据库重新启动。 如果需要将扩展的部署移动到具有更多容量的主机,那么将在移动过程中重新启动数据库。
-
磁盘不能缩小。
-
少数缩放操作的运行时间可能比其他操作长。 大幅增加 RAM 或磁盘可能需要比较小的增加时间更长的时间来考虑供应更多的底层硬件资源。
-
自动缩放操作记录在 IBM Cloud® Activity Tracker Event Routing 中。
-
限制
- 无法将任何内容设置为在小于 60 秒的时间间隔内缩放。
- 最大磁盘 = 每个成员 3 TB
- 最大 RAM = 每个成员 112 GB
-
在磁盘或内存使用量缩减的情况下,自动缩放功能不会缩减部署。 为部署调配的 RAM 将保留,以满足未来的需求,或直到您手动缩减部署规模。 由于磁盘无法缩减,为部署配置的磁盘仍将保留。
-
要偶尔或很少向部署中添加资源,可 手动扩展 部署。
在用户界面中配置自动扩展
自动缩放面板位于部署的“_管理 _”页面的“资源”选项卡上。 要启用缩放功能,请输入参数。 然后,选中要启用参数的复选框。 请务必单击“保存更改”以保存配置并使更改生效。
要禁用自动缩放功能,请清除不想再使用的参数框。 如果清除所有复选框,自动缩放功能将被禁用。 单击保存更改保存配置。
隔离计算不支持 CPU 和 RAM 自动扩展。 可进行磁盘自动扩展。 如果您调配了一个隔离实例,或从使用自动缩放功能的部署中切换过来,请使用 "IBM Cloud® Monitoring集成 监控您的资源,它可提供内存、磁盘空间和磁盘 I/O 利用率指标。 要为实例添加资源,请手动扩展部署。
在 CLI 中配置自动缩放
您可以使用 cdb deployment-autoscaling 命令通过 CLI 获取部署的自动缩放参数。
ibmcloud cdb deployment-autoscaling <deployment name or CRN> member
要通过 CLI 启用和设置自动缩放参数,请将 JSON 对象或文件与 cdb deployment-autoscaling-set 命令配合使用。
ibmcloud cdb deployment-autoscaling-set <deployment 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 中配置自动缩放
您可以通过 API 向 /deployments/{id}/groups/{group_id}/autoscaling 端点发送 GET 请求来获取部署的自动缩放参数。
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.0,
"scale_period_seconds": 30,
"scale_maximum_mb": 125952,
"units": "mb"
}
}
}'
要禁用自动缩放,请发送当前已启用的缩放器设置为 false 的 PATCH 请求。 如果所有这些属性都设置为 false,那么将在部署上禁用自动缩放。
隔离计算不支持 CPU 和 RAM 自动扩展。 可进行磁盘自动扩展。 如果您调配了一个隔离实例,或从使用自动缩放功能的部署中切换过来,请使用 "IBM Cloud® Monitoring集成 监控您的资源,它可提供内存、磁盘空间和磁盘 I/O 利用率指标。 要为实例添加资源,请手动扩展部署。