診斷問題

這個頁面列出使用 Cloud SQL 執行個體時可能遇到的最常見問題,以及解決這些問題可採取的步驟。另外,請參閱「已知問題」、「疑難排解」和「支援頁面」頁面。

查看記錄

如要查看最近作業的相關資訊,您可以查看 Cloud SQL 執行個體作業記錄PostgreSQL 錯誤記錄

連線問題

如需連線問題的相關說明,請參閱「連線問題」頁面的偵錯或「連線」部分。

執行個體問題

備份

為獲得最佳備份效能,請將資料表數量控制在合理範圍內。

如要瞭解其他備份問題,請參閱疑難排解頁面中的「備份」部分。

匯入及匯出

匯入至 Cloud SQL 和從 Cloud SQL 匯出資料可能需要很長的時間才能完成,具體取決於所處理資料的大小。這可能會造成下列影響:

  • 您無法停止長時間執行的 Cloud SQL 執行個體作業。
  • 您一次只能為每個執行個體執行一項匯入或匯出作業,且長時間執行的匯入或匯出作業會阻斷其他作業,例如每日自動備份作業。無伺服器匯出作業可讓您執行其他作業,包括編輯執行個體、匯入、容錯和解除每日自動備份的封鎖。

您可以使用 Cloud SQL 匯入或匯出功能,並使用較小批次的資料,藉此縮短完成每項作業所需的時間。

匯出資料時,您可以從讀取複本執行匯出作業,也可以使用無伺服器匯出功能,盡量減少對資料庫效能造成的影響,並在匯出作業執行期間,允許在執行個體上執行其他作業。

如有其他匯入和匯出問題,請參閱疑難排解頁面中的「 匯入和匯出」一節。

磁碟空間

如果執行個體達到允許的儲存量上限,則會導致寫入至資料庫失敗。如果您刪除資料 (例如刪除資料表),釋放的空間不會反映在執行個體的「Storage Used」(已使用的儲存空間) 報告中。您可以執行 VACUUM FULL 指令來復原未使用的空間;請注意,在執行真空指令時,寫入作業會遭到封鎖。瞭解詳情

停權狀態

Cloud SQL 可能會因為以下原因而暫停執行個體,包括:

  • 帳單問題

    例如,如果專案帳單帳戶的信用卡已過期,則執行個體可能會遭到暫停。您可以查看用於專案的帳單資訊,方式是前往 Google Cloud 主控台的帳單頁面,選取專案,並查看用於專案的帳單帳戶資訊。帳單問題解決後,執行個體會在幾小時內恢復為可執行狀態。

  • Cloud Key Management Service 的主要問題

    舉例來說,如果 Cloud KMS 金鑰版本 (用於在 Cloud SQL 執行個體中加密使用者資料) 不存在、金鑰存取權遭到撤銷,或是金鑰遭到停用或刪除,如需更多資訊,請參閱「使用客戶管理的加密金鑰 (CMEK)」。

  • 法律問題

    舉例來說,違反 Google Cloud 「使用限制政策」可能會導致執行個體遭到暫停。詳情請參閱《Google Cloud 服務條款》中的「停權和移除」。

  • 操作問題

    舉例來說,如果執行個體卡在當機迴圈中 (在啟動時或剛啟動後當機),Cloud SQL 可能會將其暫停。

如果停權是因帳單問題所觸發的,在執行個體暫停時,您可以繼續查看執行個體的相關資訊,也可以將其刪除。

白金級、爍金級或白銀級支援方案的 Cloud SQL 使用者,可就暫停的執行個體直接與支援小組聯絡。所有使用者都可以參考先前的指引,並前往 google-cloud-sql 論壇。

成效

總覽

Cloud SQL 支援需要大量效能的工作負載,每秒最多可處理 6 萬次輸入/輸出作業,且不會產生額外的輸入/輸出作業費用。IOPS 和總處理量效能取決於磁碟大小、執行個體 vCPU 數量和 I/O 區塊大小等因素。

執行個體的效能也取決於您選擇的儲存空間類型和工作負載。

進一步瞭解:

保持合理的資料庫表格數目

資料庫表格會耗用系統資源。數量過大會影響執行個體的效能和可用性,並導致執行個體喪失服務水準協議的保障。瞭解詳情

啟用查詢記錄

您可以設定 log_min_duration_statement 標記,為 Cloud SQL for PostgreSQL 記錄執行速度緩慢的查詢。系統會記錄至少執行指定時間長度的查詢。如果指定這個值時未附加單位,系統會將其視為毫秒。前往「作業記錄」查看記錄。

一般效能提示

請確認執行個體沒有記憶體或 CPU 限制。如果是需要大量運算的工作負載,請確保執行個體至少有 60 GB 的記憶體。針對較慢的資料庫插入、更新或刪除作業,請檢查寫入者與資料庫的位置;長距離傳送資料會導致延遲發生。

使用查詢洞察改善查詢效能。

針對較慢的資料庫選取作業,請考慮下列因素:

  • 快取對於讀取效能至關重要。從 PostgreSQL 統計資料收集器查看不同的 blks_hit / (blks_hit + blks_read) 比率。理想情況下,比率應高於 99%。如果不是,請考慮增加執行個體的 RAM 大小。
  • 如果工作負載包含 CPU 密集查詢 (排序、規則運算式和其他複雜函式),執行個體可能會受到節流限制;請新增 vCPU。
  • 檢查讀取器和資料庫的位置 - 延遲時間對讀取效能的影響,比寫入效能更為顯著。
  • 探索非 Cloud SQL 特定的效能強化方式,例如新增適當索引、減少掃描資料,以及避免額外的往返次數。

如果您發現執行查詢時效能不彰,請使用 EXPLAIN 來識別要在資料表何處新增索引,以改善查詢效能。例如,確保您做為彙整鍵使用的每個欄位,在兩個資料表上都有索引。

疑難排解

如有其他 Cloud SQL 問題,請參閱 疑難排解頁面。

錯誤訊息

如需特定 API 錯誤訊息,請參閱「錯誤訊息」參考頁面。

排解客戶自行管理的加密金鑰 (CMEK) 問題

由於 Cloud KMS 發生錯誤,以及缺少角色或權限,Cloud SQL 管理員作業 (例如建立、複製或更新) 可能會失敗。失敗的常見原因包括缺少 Cloud KMS 金鑰版本、Cloud KMS 金鑰版本已停用或銷毀、IAM 權限不足以存取 Cloud KMS 金鑰版本,或是 Cloud KMS 金鑰版本位於與 Cloud SQL 執行個體不同的區域。請參考下列疑難排解表格,診斷及解決常見問題。

客戶管理的加密金鑰疑難排解表

針對這項錯誤... 問題可能出在... 試試這個...
找不到個別產品和專案的服務帳戶 服務帳戶名稱有誤。 請確認您為正確的使用者專案建立服務帳戶。

前往「Service Accounts」(服務帳戶) 頁面

無法授予服務帳戶存取權 使用者帳戶沒有授予此金鑰版本存取權的權限。 將「機構組織管理員」角色新增至使用者或服務帳戶。

前往「IAM Accounts」(IAM 帳戶) 頁面

Cloud KMS 金鑰版本已遭銷毀 刪除金鑰版本。 如果金鑰版本已刪除,您就無法使用該版本加密或解密資料。
Cloud KMS 金鑰版本已停用 金鑰版本已停用。 重新啟用 Cloud KMS 金鑰版本。

前往「Cryptographic Keys」(加密編譯金鑰) 頁面

權限不足,無法使用 Cloud KMS 金鑰 您用於在 Cloud SQL 執行作業的使用者或服務帳戶缺少 cloudkms.cryptoKeyEncrypterDecrypter 角色,或是 Cloud KMS 金鑰版本不存在。 在代管金鑰的 Google Cloud 專案中,將 cloudkms.cryptoKeyEncrypterDecrypter 角色新增至使用者或服務帳戶。

前往「IAM Accounts」(IAM 帳戶) 頁面


如果您的帳戶已授予該角色,請參閱「建立金鑰」一文,瞭解如何建立新的金鑰版本。請參閱附註。
找不到 Cloud KMS 金鑰 找不到金鑰版本。 建立新的金鑰版本。請參閱「建立金鑰」一文。 請參閱附註。
Cloud SQL 執行個體和 Cloud KMS 金鑰版本位於不同的區域 Cloud KMS 金鑰版本和 Cloud SQL 執行個體必須位於相同的區域。如果 Cloud KMS 金鑰版本位於全球或多區域,則無法使用這項功能。 請在要建立執行個體的相同區域中建立金鑰版本。請參閱「建立金鑰」一文。請參閱附註。
Cloud KMS 金鑰版本已還原,但執行個體仍處於暫停狀態 金鑰版本已停用或未授予適當權限。 請重新啟用金鑰版本,並將 cloudkms.cryptoKeyEncrypterDecrypter 角色授予代管金鑰的 Google Cloud 專案中的使用者或服務帳戶。

重新加密疑難排解表

針對這項錯誤... 問題可能出在... 試試這個...
無法存取 Cloud KMS 金鑰,因此 CMEK 資源重新加密作業失敗。請確認已啟用主鍵版本,且已正確授予權限。 金鑰版本已停用或未授予適當權限。

重新啟用 Cloud KMS 金鑰版本:

前往「Crypto Keys」(加密編譯金鑰) 頁面

在 Google Cloud 代管金鑰的專案中,確認已將 cloudkms.cryptoKeyEncrypterDecrypter 角色授予使用者或服務帳戶:

前往「IAM Accounts」(IAM 帳戶) 頁面

伺服器發生內部錯誤,因此 CMEK 資源重新加密作業失敗。請稍後再試 發生伺服器內部錯誤。 重新嘗試重新加密。詳情請參閱「重新加密現有的啟用 CMEK 的執行個體或備用資源」一文