自動調整

自動擴充的設計目的在於回應 IBM Cloud® Databases for PostgreSQL 部署上資源使用的中短期趨勢。 啟用時,會以您指定的間隔檢查您的部署。 如果資源不足,就會在部署中加入更多的資源。 若要監控您的資源,請使用 IBM Cloud® Monitoring 整合,它提供記憶體、磁碟空間和磁碟 I/O 使用量的指標。

您可以將部署設定為自動擴充磁碟、RAM 或兩者。

通用自動縮放參數:

  • 何時擴充規模,以長時間的使用量為依據。
  • 以每個成員所佔資源的百分比來決定擴充多少。
  • 縮放的頻率,以秒、分或小時為單位。
  • 擴充的硬限制,您的部署會在限制時停止擴充。

記憶體 - 記憶體自動擴充以磁碟 I/O 使用量為基礎,當讀/寫負載增加時,可提供更多的記憶體給磁碟快取。 這樣做的好處是,額外的記憶體可以透過支援更多快取來減輕磁碟 I/O 的壓力。 基於記憶體使用量的自動調整組態目前不可用。

磁碟 - 當磁碟使用量達到某個臨界值、磁碟 I/O 使用量達到某個臨界值,或兩者皆達到時,磁碟自動擴充就可以擴充。 (UI 中的「或」操作為 inclusive or|v。) 部署可用的 IOPS 量會隨著磁碟大小增加,比例為每 GB 10 IOPS。

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

資源編號是指部署中的每個資料庫成員。 例如,在 PostgreSQL 部署中有兩個資料成員,如果部署以 10 GB 磁碟和 1 GB 記憶體進行擴充,這表示每個成員獲得 10 GB 磁碟和 1 GB 記憶體。 添加到您部署的總資源為 20 GB 磁碟和 2 GB 記憶體。

自動縮放注意事項

  • 擴大部署可能會導致資料庫重新啟動。 如果您的擴充部署需要移動到容量更大的主機,那麼資料庫會作為移動的一部分重新啟動。

  • 磁碟無法縮小容量。

  • 少數擴充作業可能比其他作業更長時間運作。 大幅增加 RAM 或 Disk 所需的時間可能比較小的增加還要長,以計算更多底層硬體資源的配置。

  • 自動縮放操作記錄在 IBM Cloud® Activity Tracker Event Routing

  • 限制:

    • 無法在小於 60 秒的間隔內設定任何縮放比例。
    • 最大磁碟 = 每個成員 4 TB。
    • 最大 RAM = 每個成員 240 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": 114688,"units": "mb"}}}}'

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

在 API 中配置自動縮放

您可以透過 API 取得部署的自動調整參數,方法是傳送 GET 請求到 /deployments/{id}/groups/{group_id}/autoscaling 端點。

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 利用率的指標。 若要將資源新增至您的實例,請手動擴充您的部署。