如果資料庫執行個體執行的記憶體配置過低或過高,可能會發生效能問題。執行個體有時會發生記憶體不足 (OOM) 問題。
max server memory (mb) 旗標會限制 Cloud SQL 可分配給內部集區的記憶體量。您可以手動設定這個旗標的值,也可以省略旗標,讓 Cloud SQL 自動管理記憶體限制。
如未啟用旗標,Cloud SQL 會根據執行個體的 RAM 大小,自動管理執行個體的記憶體限制。
如果您啟用旗標並手動設定值,之後又調整執行個體大小,Cloud SQL 就會停用旗標、覆寫先前提供的值,並自動管理執行個體的記憶體限制,直到您提供新的
max server memory (mb)值為止。
如果旗標值不足,可能會導致效能問題;如果分配過多,則可能導致不穩定、效能降低和資料庫當機。
強烈建議使用者讓 Cloud SQL 管理執行個體的記憶體限制。
詳情請參閱「SQL Server 設定」。
定價
伺服器記憶體用量上限建議工具屬於標準建議工具定價級別。
事前準備
必要角色和權限
如要取得查看及使用洞察和建議的權限,請確認您具備必要的 Identity and Access Management (IAM) 角色。
| 工作 | 角色 |
|---|---|
| 查看建議 |
recommender.cloudsqlViewer 或 cloudsql.admin |
| 套用建議 |
cloudsql.editor 或 cloudsql.admin
|
列出建議
如要列出建議,請按照下列步驟操作:
控制台
如要列出執行個體效能的建議,請按照下列步驟操作:
- 前往「Cloud SQL 執行個體」頁面。
前往「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面
- 在「Improve instance health by investigating issues and acting on recommendations」(調查問題並按照建議採取行動,增進執行個體健康) 橫幅中,按一下「Expand Details」(展開詳細資料)。
或者,請按照下列步驟操作:
前往「Active Assist」。另請參閱「使用建議功能尋找並套用建議」。
在「所有建議」資訊卡中,按一下「成效」。
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 會為您管理執行個體記憶體限制。