自動調整

自動調整是設計用來回應 IBM Cloud® Databases for MongoDB 部署上資源使用的中短期趨勢。 啟用時,會以您指定的間隔檢查您的部署。 如果資源不足,則會將更多資源新增至部署。 若要注意資源,請使用 IBM Cloud® Monitoring 整合,它提供記憶體、磁碟空間及磁碟 I/O 使用率的度量值。

您可以將部署設為自動調整磁碟及/或 RAM。

一般自動縮放參數:

  • 何時根據一段時間內的使用情形進行調整。
  • 以每個成員的資源百分比表示要調整的規模。
  • 調整頻率,以秒、分鐘或小時為單位。
  • 調整大小的硬性限制,您的部署會停止在此限制下進行調整。

記憶體-記憶體自動調整是根據磁碟 I/O 使用率來提供更多記憶體,以在讀寫負載增加時進行磁碟快取。 好處是額外的記憶體可以支援更多快取,以減輕磁碟 I/O 的壓力。 目前無法使用基於記憶體用量的自動調整配置。

磁碟-當任一磁碟用量達到特定臨界值及/或磁碟 I/O 使用率達到特定臨界值時,可以調整磁碟自動調整大小。 (使用者介面中的 "or" 會以 inclusive or|v 的方式運作。) 部署可用的 IOPS 數量會增加,每 GB 的磁碟大小比例為 10 IOPS。

隔離計算不支援 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。
    • 每個成員的最大 RAM = 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 中配置自動縮放

您可以將 GET 要求傳送至 /deployments/{id}/groups/{group_id}/autoscaling 端點,以透過 API 取得部署的自動調整參數。 將您想要的 scalers (io_utilizationcapacity) 設為 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_utilizationcapacity) 設為 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"
            }
        }
    }
}'

若要停用自動調整,請傳送 PATCH 要求,並將目前已啟用的調整程式設為 false。 如果全部都設為 false,則會在部署上停用自動調整大小。

隔離計算不支援 CPU 和 RAM 自動縮放。 磁碟自動縮放可用。 如果您配置了獨立實例或從具有自動擴展功能的部署切換,請使用 IBM Cloud® Monitoring整合) 監控您的資源,該整合提供記憶體、磁碟空間和磁碟I/O 使用率的指標。 若要將資源新增至您的實例,請手動擴充您的部署。