配額與限制

本文提供 Cloud Pub/Sub 配額及資源限制的相關資訊。

如要進一步瞭解追蹤配額 (例如主題或訂閱使用率),請參閱 Monitoring

檢視配額使用情形及管理配額限制

您可針對特定專案使用 API 及服務配額資訊主頁,檢視目前的配額及用量。您也可以使用此資訊主頁每次修改一項配額。

如要修改多項配額,請使用 IAM 與管理員配額資訊主頁

您可使用以上任一資訊主頁進行:

  • 減少配額。
  • 起始程序以套用更高配額限制。

配額單位

在計算每次要求或回應的用量時,系統是以 1 KB 或要求或回應的總大小兩者中較大者為準。

各要求或回應的配額用量會無條件進位至最接近的 1KB 數。假設發布各具 50 位元組的 100 則訊息,且主題名稱長度等於 30 位元組,則要求的配額用量為 max(1, ceil(5030/1000)) = 6kB

專案使用量屬性

對推送訂閱者總處理量而言,會依據包含推送訂閱的專案收取配額用量費用。

對下列配額而言,會依據與呼叫者憑證相關的專案收取用量費用,而不是依據包含要求資源的專案計費 (也就是出現在主題或訂閱名稱之中的專案):

  • 發布者總處理量
  • 訂閱者總處理量
  • 系統管理員作業

例如若專案 A 的服務帳戶,發布要求在專案 B 之中發布主題,就會向專案 A 收取配額費用。每項要求都含有包括專案 ID 的憑證。

配額限制

下表所列配額可於 API 及服務配額資訊主頁之中,在每個專案中檢視及編輯。

配額 預設配額限制 說明
發布者總處理量 每分鐘 6,000 萬 KB (1,000 MB/s) 配額用量是以 PublishRequest 所含訊息的大小為依據:

請注意,單一發布要求之中可包含多項訊息,不會針對每則訊息額外收取配額費用。

訂閱者總處理量 每分鐘 12,000 萬 KB (2,000 MB/s) 對提取訂閱而言,配額用量是以 Pull 回應的大小為依據,於其中納入:

此外 AcknowledgeModifyAckDeadline 要求也納入此項配額之中:

  • AcknowledgeRequest (RPC)
  • ModifyAckDeadlineRequest (RPC)
    推送訂閱者總處理量 每分鐘 600 萬 KB (100 MB/s) 對於向推送端點提出的推送傳遞要求,配額用量是以向推送端點提出的要求大小為依據。
    StreamingPull 訂閱者總處理量 每分鐘 1 億 2,000 萬 KB (2,000 MB/s) 配額用量是以 StreamingPullResponses 大小為基礎:

    請注意用戶端程式庫會在可能情況下使用 StreamingPull 作業。

    StreamingPull 公開連線數 每次 30,000 個公開連線 任何特定時間的 StreamingPull 公開連線數。請參閱 StreamingPull
    StreamingPull 連線速率 每分鐘 6 百萬個 開啟新 StreamingPull 連線的速率。請參閱 StreamingPull
    系統管理員作業 每分鐘 6,000 次 (100 次操作/秒) 每個系統管理員作業 (像是 GetTopicRequest) 會依據此配額收取一個單位費用。

    一般來說,Get*, List*, Create*, Delete*, ModifyPushConfig, SetIamPolicy, GetIamPolicyTestIamPermissions 由一組管理作業組成。

    資源限制

    資源 限制
    專案 10,000 個主題
    10,000 個訂閱
    主題 10,000 個附加訂閱
    5,000 個附加快照
    訂閱 未確認訊息會在永久儲存空間內保留 7 天 (自發布當下起算)。保留的訊息數量沒有限制。
    如果系統在 31 天內未偵測到任何訂閱用戶端活動,即會自動刪除該訂閱項目。系統會透過 PullAcknowledge 之類的呼叫以及成功推送作業來偵測目前狀態。
    發布要求 總計大小 10MB
    1,000 則訊息
    訊息 訊息大小 (data 欄位):10MB (最大要求大小)
    每則訊息屬性:100
    屬性金鑰大小:256 位元組
    屬性值大小:1024 位元組
    推送傳遞訊息 未解決訊息需遵循下列兩種每項訂閱限制:
    • 10 MB (此限制適用於所有未解決訊息總大小,包括訊息資料及屬性)
    • 總計 1,000 則未解決訊息
    如果端點迅速回應 (比 100ms 更快),這些限制可能就不會生效。請參閱推送訂閱者指南
    StreamingPull 串流 每個公開串流 10 MB/s
    Pull/StreamingPull 訊息 服務可能會對每個連線的未解決 StreamingPull 訊息總數施加限制。如果您遭遇這類限制,請提升確認訊息的速率,以及使用的連線數量。

    提示與注意事項

    大量作業

    如果您使用 Cloud SDK gcloud 工具搭配一般使用者帳戶 (也就是非服務帳戶),Cloud Pub/Sub 作業就會受限為適合手動作業的速率。若速率超過此項限制,就會造成 RESOURCE_EXHAUSTED 錯誤。解決方案是確保使用服務帳戶憑證。若您希望使用 Cloud SDK 憑證進行自動化,請啟用服務帳戶用於 Cloud Pub/Sub 作業。

    配額不符

    發布或接收訊息小於 1000 位元組時,可能會發生配額不符的情形,例如:

    • 如果您在不同要求中發布 10 則 500 位元組的訊息,發布者配額用量就是 10,000 位元組。這是因為小於 1,000 位元組的訊息,會自動無條件進位至下一個 1,000 位元組。

    • 如果您在單一提取回應中接收前述 10 則訊息,訂閱者配額用量可能只有 5 KB,因為其中合併各項訊息的實際大小以決定整體配額。

    • 前述情形如果相反也是一樣。如果您在單一發布要求之中發布多項訊息,或是於不同提取要求接收訊息,都可能造成訂閱者配額用量高於發布者配額用量。

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

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

    這個網頁
    Cloud Pub/Sub 說明文件