Google Cloud 使用配額來確保公平性,並減少資源使用量和可用性出現劇烈波動的情況。配額會限制 Google Cloud 專案可使用的Google Cloud 資源數量,配額適用多種資源類型,包括硬體、軟體和網路元件。舉例來說,配額可能會限制能向特定服務發出的 API 呼叫次數、專案可同時使用的負載平衡器數量,或是可建立的專案數量。配額機制可防止服務過載,保障Google Cloud 使用者社群的權益,同時也有助於您管理自己的 Google Cloud 資源。
Cloud Quotas 系統具備以下功能:
如果嘗試使用的資源量超過配額限制,系統通常會阻擋該資源的存取活動,您所執行的工作就會失敗。
配額的計算通常是以 Google Cloud 專案為基準。在某個專案中使用資源,不會影響另一個專案的可用配額。在同一個 Google Cloud 專案內,所有應用程式和 IP 位址會共用配額。
詳情請參閱「Cloud Quotas 總覽」。
在 Agent Retrieval (舊稱 Vector Search 2.0) 中,系統會強制執行配額,以保護服務、確保專案之間公平共用容量,並提供更可預測的效能和成本。配額會依區域獨立追蹤。舉例來說,us-central 的用量不會影響 europe-west4 的配額。
指標
所有指標名稱都會加上 vectorsearch.googleapis.com/ 前置字元。
頻率配額 (每分鐘要求數和每分鐘位元組數)
資料速率配額會每分鐘評估一次,並依專案和區域 (或多區域) 套用,也可選擇依集合套用。
每接受一次 API 呼叫,計數器就會增加一項要求 (或 N 個位元組,如果是位元組配額)。計數器會每分鐘重設,並使用滑動視窗評估 (不會在 :00 進行硬重設)。
您可以持續以限制速率執行,不會看到「補充」效果。
如果計數器超過上限,其他要求會傳回 RESOURCE_EXHAUSTED (HTTP 429),並在 quota_metric 欄位中顯示 reason="RATE_LIMIT_EXCEEDED" 和確切的指標名稱。
控制層頻率配額
下列配額適用於資源生命週期,以及特定專案和區域的集合與索引讀取和列出作業。
範圍:每個專案、每個區域
單位:1/min
限制:每分鐘要求數。
| 指標 | 計數 |
|---|---|
collection_management_requests
|
collections.createcollections.updatecollections.delete |
collection_read_requests |
collections.get |
collection_list_requests |
collections.list |
index_management_requests
|
indexes.createindexes.updateindexes.delete |
index_read_requests |
indexes.get |
index_list_requests |
indexes.list |
長時間執行的作業 (LRO) 要求
下列配額適用於特定專案和區域的長時間執行讀取、列出、取消和刪除作業。
範圍:每個專案、每個區域
單位:1/min
限制:每分鐘要求數。
| 指標 | 計數 |
|---|---|
lro_requests
|
operations.getoperations.listoperations.canceloperations.delete |
資料層頻率配額
下列配額適用於特定專案、區域和集合的資料物件、查詢和搜尋流量。
注意:文字搜尋和語意搜尋會消耗搜尋要求配額 (search_requests)。
範圍:每項專案、每個區域、每個集合
單位:1/min
限制:每分鐘、每個集合的要求數
| 指標 | 計數 |
|---|---|
data_object_writes
|
dataObjects.createdataObjects.updatedataObjects.delete\ batchCreatebatchUpdatebatchDelete 中包含的每個資料物件 |
data_object_reads |
dataObjects.get |
query_requests |
dataObjects.query (僅限中繼資料篩選器查詢) |
search_requests |
執行密集或稀疏 ANN 時,dataObjects.search。 |
knn_search_requests |
dataObjects.search。 |
batch_search_requests |
dataObjects.batchSearch (無論子搜尋數量,一律視為一項要求) |
資料層處理量配額
下列配額適用於特定專案、區域和集合每分鐘寫入的位元組數。
範圍:每項專案、每個區域、每個集合
單位:1/min
限制:每分鐘、每個集合的要求數
| 指標 | 計數 |
|---|---|
data_object_write_bytes
|
所有create、update、delete、batchCreate、batchUpdate 和batchDelete 呼叫為集合、資料物件和索引寫入的序列化資料和向量位元組總和。 |
批次作業
batchCreate, batchUpdate, batchDelete dataObjects:要求中的每個資料物件都會計為data_object_writes的一次寫入,並將其序列化大小 (以位元組為單位) 貢獻給data_object_write_bytes。batchSearch dataObjects:無論綁定多少子搜尋,都算作batch_search_requests的一項要求。批次搜尋也會計入子搜尋配額。
分配配額 (目前數量)
分配配額是目前數量。
計數器會即時計算專案擁有的資源或執行中作業數量。
建立資源或開始作業時,計數會增加;刪除資源或完成作業時,計數會減少。
達到上限時,下一個建立呼叫會傳回 RESOURCE_EXHAUSTED。請刪除現有資源,或等待 LRO 完成,釋出配額。
控制層分配配額
下列配額適用於專案在特定專案和區域中可持有的資源數量或執行中作業,包括:
- 集合
- 索引
- 同時對集合、資料物件和索引執行建立、匯入及匯出作業
範圍:每個專案、每個區域
單位:1
限制:絕對數量 (精確配額)
| 指標 | 計數 |
|---|---|
collections |
專案/區域中的集合數量。 |
indexes |
專案/區域中的索引數量 (所有集合的總和)。 |
concurrent_index_operations |
執行中的索引 LRO (建立/更新/刪除)。 |
concurrent_collection_operations |
執行中的集合 LRO (建立/更新/刪除)。 |
concurrent_data_object_imports |
處理中的 dataObjects.import LRO。 |
concurrent_data_object_exports |
處理中的 dataObjects.export LRO。 |
自動嵌入
自動嵌入功能會使用 Vertex AI 中的 Gemini API (aiplatform.googleapis.com)。每項 API 要求都會計入 search_requests 或 data_object_writes,「且」嵌入呼叫會計入預測配額。請確認兩個 API 都有餘裕。
使用範例
以下各節說明不同使用情境對配額的影響。
持續寫入工作負載
您正在將文件 (資料加上 768 維密集向量,約 4 KB) 擷取至 us-central1 的單一集合。系統會同時套用兩項配額:
data_object_writes (requests per minute, per collection)
data_object_write_bytes (bytes per minute, per collection)
以先達到的上限為準。如果是小型物件,通常會受限於要求率配額。如果是大型物件,則會受到位元組配額限制。
請在 Google Cloud 控制台中查看這兩項指標,瞭解哪一項最接近上限。
搜尋密集型工作負載
如果供應工作負載將 ANN 查詢傳送至單一集合,則會耗用 search_requests。如果每秒查詢次數 (QPS) 尖峰值接近每個集合的上限,請要求提高上限,或將流量分配到同一區域的多個集合。
多個小型集合
如果預計建立的集合數量超過專案的 collections 限制,請先申請提高配額,再開始建立。否則,超出限制的建立呼叫會失敗,並傳回 RESOURCE_EXHAUSTED。
批次搜尋
包含 10 個子搜尋的 batchSearch 只會消耗一個
batch_search_requests,但每個子搜尋仍會計入各自的子搜尋指標,且僅限於外部批次的層級。請據此規劃批次擴展。
查看配額
如何查看配額:
- 在 Google Cloud 控制台中,開啟「IAM & Admin」(IAM 與管理) >「Quotas」(配額) 頁面。
- 篩選
Vector Search API服務。 - 使用「Dimensions (e.g. location)」(維度 (例如位置)) 欄,依區域和資料層配額的集合進行篩選。
Google Cloud 控制台「配額」頁面會顯示每項指標目前的有效限制,並依區域和資料層配額 (集合) 篩選。
設定配額警告
建議您在工作負載所依賴的配額使用率達到 80% 時設定快訊。詳情請參閱「設定配額警告」和「在警告政策中使用配額指標」。
失敗次數
如果要求因超出配額而遭拒,不會計入配額。
因其他原因 (INVALID_ARGUMENT, NOT_FOUND 等) 而失敗的要求會計入頻率配額,因為服務仍須評估這些要求。
vector_schema 驗證失敗次數會計入。在進行頻率配額檢查後,系統會在 API 層拒絕這些要求。
超過配額
要求受到節流時,API 會傳回:
gRPC: RESOURCE_EXHAUSTED (8)
HTTP: 429 Too Many Requests
錯誤訊息會指出超出的確切指標。
例如:
Quota exceeded for quota metric 'vectorsearch.googleapis.com/search_requests'
and limit 'SearchRequestsPerMinutePerProjectPerRegionPerCollection' of service
'vectorsearch.googleapis.com' for consumer 'project_number:123456789012'.
發生這種情況時,您可以要求提高配額。
建議的用戶端行為
客戶應:
- 針對暫時性頻率限制錯誤,以指數輪詢和抖動方式重試。從約 1 秒開始,最多可延遲約 32 秒。
- 分配配額導致的不重試錯誤 (例如
"too many collections")。請刪除資源或要求提高配額。 - 如果單一集合的
data_object_writes或data_object_write_bytes配額達到熱點,請將寫入作業分散到多個集合或區域。 - 預熱。如果您知道啟動作業會超過目前的限制,請至少提前幾個工作天申請提高限制。
配額提高要求 (QIR)
如要申請提高配額,請按照下列步驟操作:
- 在 Google Cloud 控制台中,開啟「IAM & Admin」(IAM 與管理) >「Quotas」(配額) 頁面。
- 選取要增加的列。
- 按一下「Edit Quotas」(編輯配額),輸入新值和簡短的業務理由,然後提交。包含:
- 指標名稱 (例如
vectorsearch.googleapis.com/search_requests)。 - 區域和 (資料層) 集合 ID。
- 您的目標處理量和工作負載簡短說明 (穩定與尖峰、預期尖峰 QPS、預期資料集大小等)。
- 指標名稱 (例如
要求會轉送至 Agent Retrieval 團隊進行審查。如果提高幅度不超過預設值的 2 倍,通常會自動核准。如果增加幅度較大,可能需要額外審查。