操作指南

Cloud SQL 服務水準協議排除「因超出 Google 合理上可控制之因素所導致的」服務中斷。本頁面說明部分使用者控制的設定,這些設定可能會造成 MySQL 適用的 Cloud SQL 第二代執行個體發生服務中斷,讓執行個體排除在服務水準協議之外。

PostgreSQL 適用的 Cloud SQL 執行個體尚未提供操作指南,但相同的原則能套用於 PostgreSQL 執行個體。

簡介

Cloud SQL 致力於讓您盡可能掌控執行個體的設定方式,包含會增加執行個體停機風險的設定,視負載和其他設定參數而定。如果執行個體發生停機,且 Cloud SQL 判斷是因為未遵循本頁面所述的操作限制,則此類的停機時間不在 (或不計入) Cloud SQL 服務水準協議的涵蓋範圍內。

這份操作限制清單是為了使您知道哪些設定存在這些風險,以免不慎採用其中一種設定,以及您的企業環境需要該設定時,如何降低風險的方法。

會遭到排除的設定

會遭到排除的設定分成以下類別:

  • 一般設定規定
  • 資料庫標記值
  • 資源限制

一般設定規定

只有已設定為高可用性且搭載至少一個專用 CPU 的 Cloud SQL 執行個體才在服務水準協議的涵蓋範圍內。共用核心執行個體和單一區域執行個體均不在服務水準協議的涵蓋範圍內。

資料庫標記值

Cloud SQL 可讓您使用資料庫標記來設定執行個體。其中少數標記的設定方式可能會影響執行個體的穩定性與資料的耐用性。

下表列出會遭到服務水準協議排除的標記值:

標記 說明 會遭到排除的設定 可能產生的影響 緩解措施
general_log 啟用 MySQL 一般記錄。 開啟,且 log_output 標記設為 TABLE 重新啟動的速度緩慢。 log_output 標記設為 FILE
slow_query_log 啟用 MySQL 慢查詢記錄。 開啟,且 log_output 標記設為 TABLE 重新啟動的速度緩慢。 log_output 標記設為 FILE
max_heap_table_size 決定記憶體資料表的大小。 大於預設值。 由於發生記憶體不足 (OOM) 錯誤,執行個體服務中斷。 保留預設設定。
temp_table_size 決定暫存資料表的大小。 大於預設值。 由於發生記憶體不足 (OOM) 錯誤,執行個體服務中斷。 保留預設設定,或仔細規劃工作負載以免超出執行個體容量。
query_cache_size query_cache_type 同時使用這兩個標記可決定查詢快取的大小。 大於預設值。 由於發生記憶體不足 (OOM) 錯誤,執行個體服務中斷。 保留預設設定,或仔細規劃工作負載以免超出執行個體容量。

資源限制

請勿違反下列資源的相關限制,以免被排除在 SLA 涵蓋範圍外。

限制 說明 偵測 解決方式 預防方法
儲存空間已滿 如果執行個體的儲存空間不足且未啟用自動增加儲存空間功能,您的執行個體將會離線。這類的服務中斷並不在服務水準協議的涵蓋範圍內。 您可以前往 GCP 主控台的「執行個體詳細資料」頁面,查看執行個體目前使用的儲存空間量。 瞭解詳情

如要監控儲存空間用量並在達到指定的門檻時收到快訊,請設定 Stackdriver 快訊。 瞭解詳情

增加執行個體的儲存空間大小。提醒您,儲存空間的大小可以擴增,但不能縮減。 啟用執行個體的自動增加儲存空間功能。 瞭解詳情
CPU 超載 如果 CPU 使用率連續 6 小時超過 98%,代表執行個體所設的規格並不適合您的工作負載。這類的執行個體不在服務水準協議的涵蓋範圍內。 您可以前往 GCP 主控台的「執行個體詳細資料」頁面,查看執行個體目前使用的可用 CPU 百分比。 瞭解詳情

如要監控 CPU 使用量並在達到指定的門檻收到快訊,請設定 Stackdriver 快訊。 瞭解詳情

增加執行個體的 CPU 數量。提醒您,變更級別需要重新啟動執行個體。

如果執行個體搭載的 CPU 數量已達上限,您必須將資料庫分成多個執行個體。

監控 CPU 使用量並視需要增加。提醒您,變更執行個體級別需要重新啟動執行個體。
複製延遲太長 複製延遲造成的容錯移轉停機時間超過 1200 秒,將不計入執行個體的服務水準協議涵蓋範圍內。 您可以對容錯移轉備用資源使用 Seconds Behind Master 指標來監控複製延遲。 限制主要執行個體收到的負載,或分割資料庫。 建立複製延遲的快訊,並視需要採取修正動作。 瞭解詳情
資料庫資料表太多 如果單一執行個體的資料庫資料表數量超過 10,000 以上,可能會導致執行個體無法回應或無法執行維護作業。此類的執行個體不在服務水準協議涵蓋範圍內。 如要查看執行個體有多少資料表: SELECT COUNT(*) FROM information_schema.tables; 如要查看每個資料庫有多少資料表: SELECT TABLE_SCHEMA,COUNT(*) FROM information_schema.tables group by TABLE_SCHEMA; 將資料表數量減至 10,000 以下。

如果您無法立即降低資料表數量,則可以將 innodb_file_per_table 標記設為 OFF,降低執行個體受到高數量資料表影響的可能性。然而,此設定並無法讓執行個體回到服務水準的協議範圍內。

如果資料架構需要大量資料表,請將資料分割給數個執行個體。
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud SQL 說明文件