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 說明文件中關於一般表空間的內容。