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

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

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

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

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

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

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

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

定價

伺服器記憶體用量上限建議工具屬於標準建議工具定價級別。

事前準備

啟用 Recommender API。

必要角色和權限

如要取得查看及使用洞察和建議的權限,請確認您具備必要的 Identity and Access Management (IAM) 角色。

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

列出建議

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

控制台

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

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

前往「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面

  1. 在「Improve instance health by investigating issues and acting on recommendations」(調查問題並按照建議採取行動,增進執行個體健康) 橫幅中,按一下「Expand Details」(展開詳細資料)。

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

  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

查看洞察資料和詳細建議

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

控制台

執行下列其中一個步驟:

  • 在「Performance Recommendations」(成效建議) 頁面中,按一下「Performance recommendations」(成效建議) 資訊卡,然後點選「Create indexes or reconfigure join settings」(建立索引或重新設定 join 設定)。建議面板隨即顯示,其中包含執行個體的深入分析和詳細建議。

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

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_LOW 和 SQLSERVER_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

套用最佳化建議

控制台

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

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

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

  • 在「Flags and parameters」(旗標和參數) 區段中,找出並刪除 Max server memory (mb) 旗標。移除旗標後,Cloud SQL 會為您管理執行個體記憶體限制。

後續步驟