增加資料表開啟快取大小

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.cloudsqlViewercloudsql.viewer
    套用建議 以下任一角色:recommender.cloudsqlAdmincloudsql.editorcloudsql.admin
    如要進一步瞭解角色,請參閱瞭解角色授予 IAM 權限
  • Enable the Recommender API.

    Enable the API

列出執行個體效能建議

您可以使用 Google Cloud 控制台、gcloud CLI 或 Recommender API,列出執行個體效能建議。

只有在執行個體即將達到效能門檻限制時,系統才會顯示改善執行個體效能的建議。

主控台

如要使用Google Cloud 控制台列出執行個體效能建議,請按照下列步驟操作:

  1. 前往「Cloud SQL 執行個體」頁面。

    前往 Cloud SQL 執行個體

  2. 按一下「增加資料表開啟快取」建議橫幅上的「查看全部」

或者,請按照下列步驟操作:

  1. 前往建議中心。另請參閱開始使用建議中心

    前往建議中心

  2. 在「提高 Cloud SQL 執行個體的效能」資訊卡中,按一下「查看全部」

  3. 選取有「增加資料表開啟快取」建議的執行個體。

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:您的專案 ID
  • LOCATION:區域,例如 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」(查看執行個體)。請參閱「最佳化執行個體效能」一文,並按照建議操作。

  • 如要關閉建議,讓建議不再醒目顯示並呈現暗淡的色彩,請按一下「關閉」

  • 如要關閉面板,但不套用或捨棄建議,請按一下「取消」

提升執行個體效能

如要提升執行個體效能,請執行下列任一操作:

  1. table_open_cache 的值增加 500,直到建議消失為止。系統每天都會更新建議,因此提高 table_open_cache 的值後,請等待 24 小時再重新檢查。

  2. 如果 open_tables 的值大於 table_open_cache,請將 table_open_cache 的值調高為 open_tables 的值。

    如要瞭解如何更新資料庫旗標,請參閱「設定資料庫旗標」。

後續步驟