API 頻率限制

API 頻率限制定義您可以對 Google Compute Engine API 發出的要求數,不過每項專案的 API 頻率限制可能不同。當您使用 gcloud computeGoogle Cloud Platform 主控台時,也是在發出 API 要求,這些要求也會列入您的 API 頻率限制。如果使用服務帳戶存取 API,也算頻率限制。

目前專案只適用下列 API 頻率限制類別。各限制類別分開計算,因此您有可能同時達到每個類別的上限:頻率限制每隔 100 秒執行一次。例如,每秒 20 個要求相當於在 100 秒內發出 2000 個要求。也就是說,只要在 100 秒內達到特定上限,就需等配額值區重新整理,才能發出更多要求。

  • 查詢 - 所有方法皆須受限,但 *.get*.list 方法除外:
    • 每項專案的頻率:每秒 20 次要求
    • 每位使用者的頻率:每秒 20 次要求
  • 讀取要求 - *.get 方法適用的限制:
    • 每項專案的頻率:每秒 20 次要求
    • 每位使用者的頻率:每秒 20 次要求
  • 列出要求 - *.list 方法適用的限制:
    • 每項專案的頻率:每秒 20 次要求
    • 每位使用者的頻率:每秒 20 次要求
  • 作業讀取要求 - *OperationsService. 方法適用的限制:Get 方法:
    • 每項專案的頻率:每秒 20 次要求
    • 每位使用者的頻率:每秒 20 次要求
  • 高負載讀取要求 - *. 適用的限制:AggregatedList 方法:
    • 每項專案的頻率:每秒 10 次要求
    • 每位使用者的頻率:每秒 10 次要求
  • 高負載異動要求 InterconnectsServiceInterconnectAttachmentsService 特色的 patchdeleteinsert 方法適用的限制:
    • 每項專案的頻率:每秒 10 次要求
    • 每位使用者的頻率:每秒 10 次要求
  • 執行個體 SimulateMaintenanceEvent 要求 - *. 適用的限制SimulateMaintenanceEvent 方法:
    • 每項專案的頻率:每秒 2 次要求
    • 每位使用者的頻率:每秒 2 次要求
  • 授權插入要求 - *. 適用的限制LicensesService.Insert 方法:
    • 每項專案的頻率:每秒 2 次要求
    • 每位使用者的頻率:每秒 2 次要求

如要提高 API 要求的頻率限制配額,您可以透過 Google Cloud Platform 主控台提交增額要求。

最佳做法

以下提供一些最佳做法,可以協助您處理 Google Compute Engine 的 API 頻率限制。

  • 慎用爆發功能。爆發是指允許特定用戶端在短期間內發出多項 API 要求。通常只會在例外情形這麼做,例如您的應用程式需要處理的流量比平常多。爆發會快速用完 API 頻率限制,因此除非必要請勿使用。

  • 使用用戶端頻率限制工具。用戶端頻率限制工具會設定一個人工限制,相關用戶端就只能使用定量配額。這樣能夠避免任何一個用戶端佔用所有配額。

  • 達到配額時,運用指數輪詢主動拉長要求與要求之間的間隔。這樣可以讓伺服器有時間重填配額值區。

  • 避免短暫的輪詢作業,執行這類作業時,用戶端會連續對伺服器發出要求,不會等待回應。執行短時間輪詢會更不容易攔截異常要求,這類要求無論是否傳回有用資料均會佔用配額。

  • 將應用程式分散在多個專案中。配額是採專案套用制,因此,您可以將應用程式分散開來,讓每一個應用程式各用一組專用配額。

  • 如果收到 403 錯誤並出現錯誤訊息 rateLimitExceeded,請等數秒再重新發出要求。系統每 100 秒重填一次配額值區,因此只要過了這個間隔,您的要求應該會成功。

本頁內容對您是否有任何幫助?請提供意見:

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

這個網頁
Compute Engine 說明文件