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

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

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

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

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

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

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

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

定價

伺服器記憶體上限建議工具位於標準 Recommender 定價層級

事前準備

啟用 Recommender API

必要角色和權限

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

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

列出建議

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

控制台

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

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

前往 Cloud SQL 執行個體

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

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

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

    前往 Active Assist

  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

查看洞察資料和詳細建議

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

控制台

執行下列其中一個步驟:

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

  • 在「執行個體」頁面,點選「建立索引或調整彙整設定」。 執行個體清單只會顯示適用建議的執行個體。

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 就能為您管理執行個體記憶體限制。

後續步驟