Cloud SQL high-number-of-open-tables 建議工具可協助您偵測並行開啟的資料表數量等於 table_open_cache
值的執行個體。然後提供最佳化建議,協助您改善這些執行個體的效能。
本頁說明高數量開放式表格建議的運作方式,以及如何使用這項建議。
運作方式
MySQL 採用多執行緒,因此用戶端可透過多個執行緒,同時對同一資料表發出查詢。因此,MySQL 可以為每個工作階段分別開啟資料表。同時開啟的資料表數量由 table_open_cache
管理。
如果快取已滿,且開啟了其他資料表,MySQL 會關閉最近最少使用的資料表。如果快取中的所有資料表目前都在使用中,MySQL 會暫時擴充快取,並在資料表閒置時立即關閉。
如果開啟的資料表數量超過 table_open_cache
值,資料庫效能可能會在工作負載較多時受到負面影響。這是因為系統會建立更多執行緒,而且資料表處理常式必須更頻率地開啟及關閉資料表。
Cloud SQL high-number-of-open-tables 建議工具每天都會分析 Cloud SQL MySQL 執行個體上開啟的資料表數量指標。如果過去 24 小時內,開啟的資料表數量每 2 秒增加 1 個或更快,且開啟的資料表數量等於或大於 table_open_cache
值,建議您調整 table_open_cache
旗標。
定價
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_OPEN_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_OPEN_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.MySqlHighNumberOfOpenTables/insights
更改下列內容:
PROJECT_ID
:您的專案 ID。LOCATION
:區域,例如us-central1
。
下表列出 Cloud SQL high-number-of-open-tables 建議工具產生的洞察資料和建議,可協助您提升效能。子類型會顯示在 gcloud CLI
和 API 結果中。
深入分析 | 建議 |
---|---|
開啟的資料表數量等於 table_open_cache 旗標值。子類型: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES
| 如要提高 Cloud SQL 執行個體的效能,請減少公開資料表的數量。 子類型: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE
|
套用建議
請仔細評估建議,然後執行下列任一操作:
如要檢查執行個體,請按一下「View instance」(查看執行個體)。請參閱「最佳化執行個體效能」一文,並按照建議操作。
如要關閉建議,讓建議不再醒目顯示並呈現暗淡的色彩,請按一下「關閉」。
如要關閉面板,但不套用或捨棄建議,請按一下「取消」。
提升執行個體效能
如要提升執行個體效能,請執行下列任一操作:
將
table_open_cache
的值增加 500,直到建議消失為止。系統每天都會更新建議,因此提高table_open_cache
的值後,請等待 24 小時再重新檢查。如果
open_tables
的值大於table_open_cache
,請將table_open_cache
的值調高為open_tables
的值。如要瞭解如何更新資料庫旗標,請參閱「設定資料庫旗標」。