Cloud SQL high-number-of-tables 建議工具可協助您偵測資料表數量過高且接近服務水準協議上限的執行個體。接著,系統會提供最佳化建議,說明如何改善這類執行個體並提升執行個體效能。
本頁說明高表數推薦工具的運作方式,以及如何使用這項工具。
運作方式
如果單一執行個體含有 50,000 個以上的資料庫資料表,可能會導致執行個體無法回應或無法執行維護作業,且該執行個體不受服務水準協議保障。
Cloud SQL high-number-of-tables 建議工具會分析 Cloud SQL MySQL 執行個體的資料表數量指標。如果資料表數量超過或等於服務水準協議上限 (即 50,000 個資料表) 的 80%,系統就會判定執行個體的資料表數量過高。
定價
Cloud SQL high-number-of-open-tables 建議工具屬於 標準 建議工具定價層級。
事前準備
如要查看最佳化建議和洞察資料,請先完成下列步驟:
- 如要取得查看及使用洞察資料和最佳化建議的權限,請確認您具備必要的角色。
Tasks 角色 查看建議 請選擇下列任一角色: recommender.cloudsqlViewer
或cloudsql.viewer
。套用建議 以下任一角色: recommender.cloudsqlAdmin
、cloudsql.editor
或cloudsql.admin
。 -
Enable the Recommender API.
列出改善執行個體效能的最佳化建議
您可以使用 Google Cloud 主控台、gcloud CLI
或 Recommender API 列出改善執行個體效能建議。
只有在執行個體接近效能門檻限制時,系統才會顯示改善執行個體效能的最佳化建議。
主控台
如要使用Google Cloud 控制台列出執行個體效能建議,請按照下列步驟操作:
前往「Cloud SQL 執行個體」頁面。
按一下「管理大量資料表」最佳化建議橫幅上的「查看全部」。
或者,請按照下列步驟操作:
gcloud CLI
如要使用 gcloud CLI
列出「改善執行個體效能」最佳化建議,請執行下列 gcloud recommender recommendations list
指令:
gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=LOCATION \ --recommender=google.cloudsql.instance.PerformanceRecommender \ --filter=recommenderSubtype=MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE
更改下列內容:
PROJECT_ID
:您的專案 IDLOCATION
:區域,例如us-central1
API
如要使用 Recommendations API 列出改善執行個體效能的最佳做法建議,請呼叫 recommendations.list
方法,如下所示:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations
更改下列內容:
PROJECT_ID
:您的專案 ID。LOCATION
:區域,例如us-central1
。
如果推薦工具偵測到有大量資料表的執行個體,就會將這些執行個體與其他效能最佳化建議一併列於資料表中。每個資料列都會顯示執行個體 ID、簡短的最佳化建議、資料庫引擎、位置和上次重新整理日期。
查看洞察資料和詳細最佳化建議
您可以使用 Google Cloud 主控台、gcloud CLI
或 Recommender API,查看有關有大量資料表的執行個體的洞察資料和詳細建議。
主控台
如要使用 Google Cloud 控制台查看關於接近效能門檻的執行個體的深入分析資料和詳細建議,請按一下執行個體清單中的建議連結。
gcloud CLI
如要使用 gcloud CLI
查看關於接近效能門檻的執行個體洞察資料和詳細最佳化建議,請執行下列 gcloud recommender insights list
指令:
gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_TABLES
更改下列內容:
PROJECT_ID
:您的專案 ID。LOCATION
:區域,例如us-central1
。
API
如要使用 Recommendations API 查看關於即將達到效能門檻的執行個體的深入分析和詳細最佳化建議,請呼叫 insights.list
方法,如下所示:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTables/insights
更改下列內容:
PROJECT_ID
:您的專案 ID。LOCATION
:區域,例如us-central1
。
下表列出 Cloud SQL high-number-of-open-tables 建議工具產生的洞察資料和建議,協助您改善效能。子類型會顯示在 gcloud CLI
和 API 結果中。
深入分析 | 建議 |
---|---|
這個執行個體的資料表數量超過或等於服務水準協議上限 (即 50,000 個資料表) 的 80%。 子類型: MYSQL_HIGH_NUMBER_OF_TABLES
|
如要提高 Cloud SQL 執行個體的效能,請減少資料表數量。 子類型: MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE
|
套用建議
請仔細評估最佳化建議,並執行下列任一操作:
如要查看執行個體,請按一下「View instance」。請參閱「改善執行個體效能」一文,並按照建議操作。
如要關閉建議,讓系統不再強調該建議並使其顯示為灰色,請按一下「關閉」。
如要關閉面板,但不套用或略過建議,請按一下「取消」。
最佳化執行個體效能
編輯執行個體,將 vCPU 數量增加至至少 32 個核心,並將記憶體大小增加至至少 200 GB。這會將執行個體的資料表上限從 50,000 提高至 500,000。
刪除不必要的資料表:
DROP TABLE TABLE_NAME;
更改下列內容:
TABLE_NAME
:您要捨棄的資料表名稱。
將資料庫分割至多個執行個體,藉此減少每個執行個體的資料表數量,並確保每個執行個體的資料表數量維持在建議限制內。
如果無法立即減少資料表數量,您可以將
innodb_file_per_table
旗標設為 OFF,降低執行個體受到高資料表數量影響的可能性。如要關閉innodb_file_per_table
旗標的值,請參閱「設定資料庫旗標」。不過,這項設定不會讓執行個體恢復符合服務水準協議。請參閱這些操作指南。使用一般資料表空間建立資料表,或將現有資料表移至一般資料表空間。詳情請參閱 MySQL 一般表格空間說明文件。