如果資料庫執行個體的記憶體分配量過低或過高,可能會發生效能問題。執行個體有時可能會遇到記憶體不足 (OOM) 問題。
max server memory (mb)
標記會限制 Cloud SQL 可為其內部集區分配的記憶體量。您可以手動設定這個旗標的值,也可以省略這個旗標,讓 Cloud SQL 自動管理記憶體限制。
如果您未啟用旗標,Cloud SQL 會根據執行個體的 RAM 大小,自動管理執行個體的記憶體限制。
如果您啟用旗標並手動設定值,之後再調整執行個體大小,Cloud SQL 會停用該旗標、覆寫先前提供的值,並自動管理執行個體的記憶體限制,直到您提供新的
max server memory (mb)
值為止。
標記值不足可能會導致效能問題,而過度配置則可能導致不穩定、效能降低和資料庫異常終止。
我們強烈建議使用者讓 Cloud SQL 管理執行個體的記憶體限制。
詳情請參閱「SQL Server 設定」。
定價
Maximum server memory 推薦工具屬於 標準 推薦工具定價等級。
事前準備
必要角色和權限
如要取得查看洞察資料和最佳化建議的權限,請確認您具備必要的 Identity and Access Management (IAM) 角色。
工作 | 角色 |
---|---|
查看建議 |
recommender.cloudsqlViewer 或 cloudsql.admin
|
套用建議 |
cloudsql.editor
或 cloudsql.admin
|
列出建議
如要列出推薦內容,請按照下列步驟操作:
主控台
如要查看關於執行個體效能的最佳化建議,請按照下列步驟操作:
- 前往「Cloud SQL 執行個體」頁面。
- 在「改善執行個體健康:調查問題並按照建議採取行動」橫幅上,按一下「展開詳細資料」。
或者,請按照下列步驟操作:
前往「推薦內容」中心。另請參閱「使用最佳化建議找出並套用最佳化建議」一文。
在「所有建議」資訊卡中,按一下「成效」。
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_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
套用最佳化建議
主控台
如要實作這項建議,請按照下列步驟操作:
找出有「伺服器記憶體設定錯誤」建議的執行個體。按一下推薦內容即可開啟。
在推薦視窗中,按一下「編輯執行個體」。
在「旗標和參數」專區中,找出並刪除「伺服器記憶體用量上限 (MB)」旗標。移除旗標後,Cloud SQL 會為您管理執行個體記憶體限制。