本頁提供 Cloud SQL 配額與限制的相關資訊。配額適用於專案層級;限制則視本身特性,可能適用於執行個體,也可能適用於專案層級。
配額
配額會限制專案可使用的 Google Cloud 資源 Google Cloud 數量。Cloud SQL 就是這類資源的例子。
在 Cloud SQL 中,配額是系統的一部分,可執行下列操作:
- 監控 Cloud SQL 執行個體的使用量或耗用量
- 基於確保公平和減少用量尖峰等原因,限制這些執行個體的用量
- 維護可自動強制執行規定限制的設定
- 提供配額變更或要求變更的方式
超過配額時,系統通常會立即封鎖對相關執行個體的存取權,而您嘗試執行的工作也會失敗。配額限制適用於每項 Google Cloud 專案,且使用同一項專案的所有執行個體會共用這些配額。
檢查及提高配額的權限
如要查看及提高配額,您必須具備下列權限:
根據預設,編輯者和擁有者這些基本 IAM 角色和預先定義的配額管理員角色,都擁有這些權限。如需其他權限,請與配額管理員聯絡。
查看配額
如要查看專案目前的資源配額,請前往Google Cloud console 中的「配額」頁面,然後篩選 Cloud SQL Admin API。這些配額僅適用於 API 呼叫,不包括資料庫查詢。
提高配額
隨著 Google Cloud 使用量增加,您也可以要求更多配額。如果您預期用量將大幅攀升,請提前幾天提出要求,確保系統可以妥善調整您的配額。
申請提高配額不會產生任何費用。除非您使用了更多資源,否則費用不會增加。
如要提高配額,請按照下列步驟操作:
前往 Google Cloud 控制台的「Quotas」(配額) 頁面。
篩選「Cloud SQL Admin API」服務。
如果沒有看到這項服務,請啟用 Cloud SQL Admin API。
找出要變更的配額,然後勾選旁邊的核取方塊,接著按一下「編輯配額」。
針對您選取的每個配額,在「New limit」(新限制) 欄位中,輸入所需限制的值。
在「Reason description」(原因說明) 欄位中,輸入要求提高配額的原因,然後按一下「Done」(完成)。
點選「下一步」。
輸入您的姓名、電子郵件地址和電話號碼,然後按一下「提交要求」。
如果無法提高配額,請提交支援服務申請單。
資源配額的補充方式
系統會在太平洋時間凌晨 12 點補充每日配額。
配額與資源可用性
在資源供應無虞的前提下,資源配額指的是您能夠建立特定類型資源的數量上限。配額機制並無法保證您隨時可以使用這些資源。如果您的區域無法順利供應某項資源,即使您的專案仍有配額,您也無法新建該類型的資源。
頻率配額
Cloud SQL 支援頻率配額 (又稱頻率限制或 API 配額)。頻率配額定義您可以對 Cloud SQL Admin API 發出的要求數。
每個速率配額都對應於一或多個 Cloud SQL Admin API 方法類別的所有要求。頻率配額會在一段特定時間過後重設,時間間隔取決於 Cloud SQL (例如每分鐘的 API 要求數)。
使用 gcloud CLI 或 Google Cloud 控制台時,您會向 Cloud SQL Admin API 提出要求,這些要求會計入您的頻率配額。如果使用服務帳戶存取 API,相關要求也會計入頻率配額中。
Cloud SQL 會自動強制執行並在每 60 秒間隔內重新填入速率配額。如果專案在 60 秒內達到速率配額上限,就必須等待配額重新填滿,才能在該類別中提出更多要求。如果專案超過這項限制,您會收到 HTTP 429
狀態碼,原因為 rateLimitExceeded
。
Cloud SQL Admin API 分為下列類別:
- 連線:查詢連線至 Cloud SQL 資料庫所需的值。
- 取得:擷取資源的相關資訊 (例如執行個體、作業或備份)。
- 清單:列出資源。
- 變動:建立、修改及刪除資源。
- 每個區域的預設值:與 Cloud SQL 執行個體互動,但不必連線、擷取、列出或變更執行個體。
- 預設:列出 Cloud SQL 執行個體的資料庫旗標和機器類型 (層級)。這類 API 適用於全球。
Cloud SQL 會針對每個類別,按每分鐘、每位使用者和每個區域設定速率配額。針對這些屬性的每個不重複組合,Cloud SQL 會分別設定速率限制。
Cloud SQL Admin API 會產生詳細指標,協助您追蹤 API 使用情形、監控 Cloud SQL 執行個體和 API 的效能,以及找出執行個體和 API 之間的問題。詳情請參閱「監控 API 使用情形」一文。
下表提供各類別的指標、API 和預設限制資訊:
限制
系統針對部分 Cloud SQL 資源設有限制。這些資源的配額不會定期補充,也不會列於 Google Cloud 控制台的「配額」頁面中。您可以要求放寬某些資源的限制,但有些限制無法更動。
可調整的限制
每項專案的執行個體數
單一專案可擁有的執行個體數量上限取決於這些執行個體的網路架構:
- 全新 SQL 網路架構:每個專案最多可有 1000 個執行個體。
- 舊版 SQL 網路架構:每個專案最多可有 100 個執行個體。
- 同時使用兩種架構:視執行個體在兩種架構中的分布情形而定,上限介於 100 到 1000 之間。
如需提高上限,請提交客服案件。唯讀備用資源會計為執行個體。
建議您將執行個體數量分配到多個專案,減少對配額提高要求的依賴。這有助於避免任何潛在的封鎖。
並行連線數上限
您可以使用 max_connections
旗標設定連線數量限制。建立 PostgreSQL 適用的 Cloud SQL 執行個體時,
機器類型設定會根據您選取的核心數量,自動調整可用的記憶體大小範圍。這也會決定執行個體的初始預設連線限制。
如要查看執行個體的連線限制,您可以連線至資料庫並執行以下指令:SELECT * FROM pg_settings WHERE name = 'max_connections';
備用資源中的值不能小於主要執行個體中的值。主要執行個體的變更會推送到符合下列條件的備用資源:備用資源的值低於主要執行個體的新值,或者備用資源的值仍舊保有預設值。
如果主要執行個體上的值為 default
,則無法變更副本的值。如要變更副本的值,請先將主要執行個體的值設為整數。
注意事項
Cloud SQL 連接器的配額用量
Cloud SQL Auth Proxy 和其他 Cloud SQL 連接器會使用 Cloud SQL Admin API 的配額。Cloud SQL 連接器大約每小時會執行一次重新整理作業。這項重新整理作業會發出兩次 API 呼叫。其中一個呼叫會擷取執行個體中繼資料,另一個呼叫則會擷取暫時性憑證。
配額用量計算方式如下:
Quota usage = connector processes running * instances * 2 API calls per hour
舉例來說,如果您有三個程序正在執行連接器,連接器已設定為連線至兩個 Cloud SQL 執行個體,且在一小時內發出兩次 API 呼叫,則配額用量為 12 (3 個程序 * 2 個執行個體 * 2 次 API 呼叫)。
如果您剛開始使用 Cloud SQL,請留意上述公式,並注意下列事項:
您擴大新 DB 客戶的速度
新增更多執行個體的速度
為每個應用程式使用不同的服務帳戶
Cloud SQL IAM 資料庫驗證
每個執行個體都有每分鐘登入配額,包括成功和失敗的登入。超過配額時,登入功能會暫時無法使用。建議您避免頻繁登入,並使用授權網路限制登入。 每個執行個體的登入授權配額為每分鐘 12,000 次。
轉送規則配額
每個 Cloud SQL 執行個體都包含轉送規則和負載平衡器。轉送規則的配額限制取決於所指向的負載平衡器類型。每種轉送規則都有多項配額,分別適用於每個專案、每個網路和每個對等互連群組。此外,Cloud SQL 也提供每個網路配額和每個對等互連群組配額的覆寫規則。也就是說,當我們提高生產者網路的每個網路配額時,對等互連群組的配額也會提高到相同的值。
Cloud SQL 生產端虛擬私有雲與客戶的虛擬私有雲對等互連,因此我們經常達到 Cloud SQL 生產端網路的每個網路配額,以及客戶虛擬私有雲的每個對等互連群組配額。
達到配額後,部分作業可能會失敗,包括:
建立作業:建立新執行個體時,需要新的轉送規則。
更新作業:我們允許客戶切換執行個體的網路,因此新網路需要新的轉送規則。
維護作業:系統會重新建立轉送規則。
為避免發生任何問題,建議您將每個網路的執行個體總數限制在 500 個以下。
如果遇到問題,請提報支援案件,我們會為你提高相關配額。
固定限制
IOPS
IOPS 是指磁碟每秒可處理的輸入/輸出作業 (或讀取/寫入) 數量。
Cloud SQL 會使用搭載永久儲存磁碟的 Compute Engine 虛擬機器 (VM)。如要瞭解特定 VM 的效能特徵,請參閱永久磁碟效能頁面的最大持續 IOPS 表格。
資料表限制
PostgreSQL 適用的 Cloud SQL 的資料表大小上限為 32 TB。 表格大小達到 32 TB 時,就無法再新增資料。
作業限制
微型和小型層級的機器類型會限制並行作業的數量。
如果超出這些限制,就會造成 Too many operations
錯誤。
db-custom-1-3840 (單一 CPU) 機器類型的限制為 50 個並行作業。
f1-micro (共用核心 CPU) 機器類型限制為 20 個並行作業。指標收集上限
系統最多會收集 500 個資料庫的 PostgreSQL 指標。如果資料庫超過 500 個,系統只會納入前 500 個資料庫的特定指標。這些資料庫的交易次數最多。
Cloud SQL 儲存空間限制
- 專屬核心:最多 64 TB。
詳情請參閱「CPU 和記憶體定價」。
- 共用核心:最多 3 TB。
詳情請參閱「執行個體價格」。
Cloud SQL 儲存空間選項
如要設定儲存空間選項,以獲得最佳效能,請務必瞭解您的工作負載,並選擇適當的磁碟類型和大小。如要進一步瞭解我們為 Cloud SQL 提供的各種選擇,請參閱執行個體設定的相關說明。App Engine 限制
以 App Engine 標準環境來說,當中運作的執行個體與其他執行個體之間的並行連線數不得超過 100 個。如果是以 PHP 5.5 編寫而成的應用程式,則上限為 60 個並行連線。
App Engine 應用程式必須符合要求時間限制,實際情況則視用量和環境而定。詳情請參閱 App Engine 標準與 彈性環境中執行個體管理方式的相關說明。
App Engine 應用程式也必須符合其他 App Engine 配額與限制的規定,詳情請參閱 App Engine 配額頁面。
Cloud Run 限制
如果您在 Cloud Run 上使用內建的 Cloud SQL 連線,Cloud Run 容器執行個體連線至每個 Cloud SQL 資料庫的連線數上限為 100 個。
Cloud Run 服務或工作的每個執行個體與資料庫之間的連線數不得超過 100 個。如果擴充服務或工作,每項部署作業的總連線數可隨之增加。
使用其他連線方式時,例如在 Sidecar 中使用 Cloud SQL Auth Proxy、Cloud SQL 語言連接器,或是直接連線至 Cloud SQL 執行個體的 IP 位址,不會受到這項限制。
Cloud Run functions 限制
Cloud Run functions (第 1 代) 會將每個執行個體的並行執行數限制為 1。單一第 1 代函式執行個體同時處理兩個要求的情況永遠不會發生。在多數情況下,您只需要一個資料庫連線。
Cloud Run 函式 (第 2 代) 以 Cloud Run 為基礎,每個執行個體的資料庫連線數上限為 100 個。