將伺服器記憶體用量上限最佳化

如果資料庫執行個體分配到的記憶體過低或過高,可能會發生效能問題。執行個體有時可能會遇到記憶體不足 (OOM) 問題。

max server memory (mb) 標記會限制 Cloud SQL 可為內部集區分配的記憶體量。您可以手動設定這個旗標的值,也可以省略旗標,讓 Cloud SQL 自動管理記憶體限制。

  • 如未啟用這個旗標,Cloud SQL 會根據執行個體的 RAM 大小,自動管理執行個體的記憶體限制。

  • 如果您啟用這個旗標並手動設定值,之後調整執行個體大小時,Cloud SQL 會停用這個旗標、覆寫先前提供的值,並自動管理執行個體的記憶體限制,直到您提供新的 max server memory (mb) 值為止。

如果標記的值不足,可能會導致效能問題;如果分配過多,則可能導致不穩定、效能降低和資料庫當機。

強烈建議使用者讓 Cloud SQL 管理執行個體的記憶體限制。

詳情請參閱「SQL Server 設定」。

定價

「伺服器記憶體上限」建議位於「標準」建議定價層級

事前準備

啟用 Recommender API

必要角色和權限

如要取得查看及使用洞察和建議的權限,請確認您具備必要的身分與存取權管理 (IAM) 角色

工作 角色
查看建議 recommender.cloudsqlViewercloudsql.admin
套用建議 cloudsql.editorcloudsql.admin
如要進一步瞭解 IAM 角色,請參閱「IAM 基本和預先定義的角色參考資料」和「管理專案、資料夾和機構的存取權」。

列出建議

如要列出建議,請按照下列步驟操作:

主控台

如要列出有關執行個體效能的建議,請按照下列步驟操作:

  1. 前往「Cloud SQL 執行個體」頁面。

前往 Cloud SQL 執行個體

  1. 在「改善執行個體健康狀態:調查問題並按照建議採取行動」橫幅上,按一下「展開詳細資料」

或者,請按照下列步驟操作:

  1. 前往建議中心。另請參閱這篇文章,瞭解如何透過「最佳化建議」找出並套用最佳化建議。

    前往建議中心

  2. 在「所有建議」資訊卡中,按一下「成效」

gcloud

執行 gcloud recommender recommendations list 指令,如下所示:

gcloud recommender recommendations list \
--project=PROJECT_ID \
--location=LOCATION \
--recommender=google.cloudsql.instance.PerformanceRecommender \
--filter=RECOMMENDER_SUBTYPE=SQLSERVER_USE_AUTOMATIC_MAX_SERVER_MEMORY_MANAGEMENT

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • LOCATION:執行個體所在的區域,例如 us-central1

API

呼叫 recommendations.list 方法,如下所示:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender/recommendations

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • LOCATION:執行個體所在的區域,例如 us-central1

查看洞察資料和詳細建議

如要查看洞察資料和詳細建議,請按照下列步驟操作:

主控台

執行下列其中一個步驟:

  • 在「成效建議」頁面中,按一下「成效建議」資訊卡,然後按一下「建立索引或重新設定聯結設定」。系統會顯示建議面板,其中包含執行個體的深入分析和詳細建議。

  • 在「Instances」(執行個體) 頁面中,按一下「Create indexes or reconfigure join settings」(建立索引或調整彙整設定)執行個體清單只會顯示適用建議的執行個體。

gcloud

執行 gcloud recommender insights list 指令,如下所示:


gcloud recommender insights list \
--project=PROJECT_ID \
--location=LOCATION \
--insight-type=google.cloudsql.instance.PerformanceInsight \
--filter=INSIGHT_SUBTYPE=INSIGHT_SUBTYPE

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • LOCATION:執行個體所在的區域,例如 us-central1
  • INSIGHT_SUBTYPE:用於驗證所分配記憶體是否過低或過高的子類型。可接受的值包括 SQLSERVER_MAX_SERVER_MEMORY_TOO_LOWSQLSERVER_MAX_SERVER_MEMORY_TOO_HIGH

API

呼叫 insights.list 方法,如下所示:


GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceInsight/insights

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • LOCATION:執行個體所在的區域,例如 us-central1

套用最佳化建議

主控台

如要實作這項建議,請按照下列步驟操作:

  • 找出建議為「伺服器記憶體設定有誤」的執行個體。 按一下最佳化建議即可開啟。

  • 在建議視窗中,按一下「編輯執行個體」

  • 在「旗標和參數」部分中,找出並刪除「伺服器記憶體上限 (MB)」旗標。移除旗標後,Cloud SQL 就能為您管理執行個體記憶體限制。

後續步驟