配額

App Engine 應用程式可以使用的資源有一定的配額。您可以在 Google Cloud Console 的配額詳細資料頁面中查看應用程式每日的耗用量。

配額類型

下列配額類型適用於 App Engine 應用程式:

  • 免費配額:每個應用程式都可以獲得定量的免費資源。免費配額上限為應用程式的支出上限或安全限制 (以先達到者為準)。
  • 安全限制:安全限制是 Google 為確保 App Engine 系統完整性而設定的配額。這類配額可以避免單一應用程式過度耗用資源,以防其他應用程式效能劣化。一旦超出這個限制,就會收到錯誤訊息。

專案擁有者帳單管理員可以為專案啟用計費功能

啟用應用程式的計費功能後,應用程式的安全限制也會隨之提高。詳情請參閱資源一節。

安全限制

安全限制包含「每日配額」與「每分鐘配額」

  • 每日配額會在太平洋時間每日凌晨 12 點補充。應用程式可超出此免費配額,直到達到安全限制為止。
  • 每分鐘配額是一種防止應用程式在極短時間內耗盡所有資源的機制,同時也能避免其他應用程式獨占特定資源。如果您的應用程式消耗某項資源的速度過快,用盡其中一種每分鐘配額,則 Cloud Console「配額」頁面的相應配額旁會顯示「已達上限」字樣。如果資源耗用已達每分鐘上限,對該項資源的要求均會遭到拒絕。

如需進一步瞭解超出配額會有什麼影響與如何處理超額狀況,請參閱資源耗盡一節。

提示:每分鐘配額上限足以應付高流量等級,即使您的網站獲得新聞報導而導致流量暴增,也還有餘裕。如果您認為特定配額不足以應付需求,請在 Issue Tracker 中提交意見回饋。請注意,提交意見回饋並非要求提高配額,但可以協助我們瞭解哪些配額有不敷一般用途使用的潛在問題。

如果您的流量過高或應用程式需要特別高的配額 (例如產品大量啟動或大量負載的測試),建議您申請支援方案

支出上限

如何補充資源

App Engine 會追蹤應用程式的資源使用狀況並比對系統配額。App Engine 將在每天開始的時候重設所有資源測量數據 (除了儲存的資料量外,這項數據隨時反映資料儲存庫使用中的儲存量)。

系統會在太平洋時間凌晨 12 點補充每日配額,每分鐘配額則每 60 秒補充一次。

資源耗盡

如果應用程式耗盡了某項配給的資源,那麼,在配額獲得補充前,應用程式無法再使用該項資源。這可能代表您的應用程式在配額獲得補充前,都無法正常運作。

啟動要求所需的資源耗盡時,App Engine 會依預設將 HTTP 403503 錯誤代碼回傳給要求,而不會呼叫要求處理常式。擁有上述行為的資源如下:

  • 連入頻寬與連出頻寬
  • 執行個體時數

提示:您可以調整應用程式設定,在應用程式超出配額時顯示自訂的錯誤頁面。詳情請參閱 Python (2.73.7)、JavaGo、PHP (5.57.2) 或 Node.js 的設定檔參考資料。

除上述以外的所有資源,一旦耗盡後,應用程式會在嘗試使用資源時收到例外狀況。應用程式可以接收並處理這類例外狀況,例如對使用者顯示可理解的錯誤訊息。在 Python API 中,這個例外狀況為 apiproxy_errors.OverQuotaError。Java API 的這類例外狀況為 com.google.apphosting.api.ApiProxy.OverQuotaException。在 Go API 中,appengine.IsOverQuota 函式會回報錯誤原因是否為可用配額不足而導致 API 呼叫失敗。

下方範例會說明如何在超出電子郵件相關配額時,攔截 SendMessage() 方法所引發的 OverQuotaError

try: mail.SendMessage(to='test@example.com',
    from='admin@example.com', subject='Test Email', body='Testing') except
    apiproxy_errors.OverQuotaError, message: # Log the error. logging.error(message) # Display an
    informative message to the user. self.response.out.write('The email could not be sent. ' 'Please try
    again later.')

您的應用程式超出了預設上限嗎?如需更高的郵件配額,請使用 SendGrid 發送電子郵件。如果您擁有白銀級、爍金級或白金級支援方案,並且希望增加其他資源的配額,請與支援代表聯絡並要求提高總處理量限制。您也可以在 Google Cloud Console 中申請更多配額。只要選取特定的配額項目,然後按一下 [編輯配額],即可提出申請。

App Engine 彈性環境的配額

將應用程式部署至 App Engine 彈性環境時,會耗用某些 Google Cloud Platform 資源。您可能無法修改這類資源,但這類資源一樣會佔用您的配額。

資源

應用程式可以使用的資源以及配額限制如下:依據計費限制來計算使用量的資源會標示「(計費)」字樣。資源量代表 24 小時內的配置。

額外資源的費用會列於定價頁面。

預設 Cloud Storage 值區

以下列出預設 Cloud Storage 值區每日使用量的免費配額。您可以在 Google Cloud Console 的 App Engine 設定頁面為專案建立免費預設值區。

以下是預設值區的專用配額。如需這類配額的說明,請參閱 Cloud Storage 多地區值區的價格相關頁面。

資源 預設限制
Cloud Storage 值區儲存的預設資料量 前 5 GB 免費 (無上限)
預設 Cloud Storage 值區 A 級作業 每日前 20,000 次作業免費 (無上限)
預設 Cloud Storage 值區 B 級作業 每日前 50,000 次作業免費 (無上限)
Cloud Storage 值區網路輸出預設流量 視連出頻寬免費配額而定 (無上限)

Blobstore

以下是 Blobstore 的使用配額種類。

Blobstore 儲存的資料量
儲存在 Blobstore 的總資料量,付費與免費應用程式皆可使用。
資源 預設限制
Blobstore 儲存的資料量 前 5 GB 免費 (無上限)

程式碼和靜態資料儲存空間

靜態資料限制
在 Go 以外的所有程式語言中,單一靜態資料檔案不得大於 32 MB。Go 的限制為 64 MB。
總儲存空間
應用程式所有版本儲存的程式碼與靜態資料總量都會計入儲存空間配額。資訊主頁中的表格會列出程式碼與靜態檔案的總儲存量大小,個別大小則分別顯示於「版本」與「後端」畫面。如果應用程式耗用的程式碼與靜態資料儲存空間超過 1 GB,則每 GB 資料每月會產生 $0.026 美元的費用。

Datastore

「儲存的資料 (計費)」配額指的是應用程式儲存在 Datastore 和 Blobstore 的所有資料。在 Google Cloud Console 的「配額詳細資料」頁面中,「Datastore」專區列出的其他配額均專指 Datastore 服務。

儲存的資料 (計費)

儲存在資料儲存庫實體與相應索引和 Blobstore 的總資料量。

請特別留意,儲存在資料儲存庫中的資料可能會產生大筆的費用。您需要負擔的費用取決於關聯屬性的數量和類型,且包括內建和自訂索引所使用的空間。儲存在資料儲存庫中的各個實體均須具備下列中繼資料:

  • 實體索引鍵。包括種類、ID 或索引鍵名稱,以及實體祖系的索引鍵。
  • 每個屬性的名稱和值。由於資料儲存庫沒有結構描述,因此每個屬性的名稱必須與任何特定實體的屬性值儲存在一起。
  • 任何參照這個實體的內建和自訂索引列:每個資料列中均含實體種類、索引定義決定的任意數量屬性值,以及實體索引鍵。

您可以參考實體與索引的儲存方式相關說明,完整瞭解在 Bigtable 層級儲存實體和索引所需的中繼資料項目。

索引數量
應用程式現有的 Datastore 索引數量,當中包含部分過去建立的索引,雖然尚未刪除,但目前並未顯示在應用程式設定之中。請參閱 Datastore 限制頁面,進一步瞭解相關限制。
寫入作業
Datastore 寫入作業的總數。
讀取作業
Datastore 讀取作業的總數。
小型作業
Datastore 小型作業的總數。小型作業包含分配 Datastore ID 或純索引鍵查詢的呼叫。
資源 預設限制
儲存的資料 (計費) 1 GB 免費;無上限。
如果您超過免費配額,系統會收取相關費用
索引數量 200
實體讀取數 50,000 次免費;無上限。
如果您超過免費配額,系統會收取相關費用
實體寫入數 20,000 次免費;無上限。
如果您超過免費配額,系統會收取相關費用
實體刪除數 20,000 次免費;無上限。
如果您超過免費配額,系統會收取相關費用
小型作業 無限制

注意事項:Datastore 管理員Datastore 檢視者建立 Datastore 作業之後,這類作業耗用的資源都會計入應用程式配額。

部署作業數

部署作業數
開發人員上傳應用程式的次數,目前配額為每日 10,000 次。

應用程式每個版本限上傳 10,000 個檔案,每個檔案大小上限為 32 MB。另外,如果所有版本的所有檔案總大小超過初始免費配額 (1 GB),則每 GB 資料每月會產生 $0.026 美元的費用。

執行個體時數

執行個體是依照運作時間計費,計費單位為小時。執行個體啟動後開始計費,關閉十五分鐘後停止計費。閒置的執行個體數量如超過 Cloud Console「效能設定」分頁中設定的閒置執行個體數量上限,不另計費。

前端與後端執行個體有各自的每日免費配額。請注意,使用各項 App Engine 服務時,您必須遵守的配額規定取決於服務的執行個體類別。

資源或 API 呼叫 免費配額
前端執行個體 (自動調整資源配置模組) 每日 28 個免費 F1 執行個體時數
後端執行個體 (基本與手動調整資源配置模組) 每日 9 個免費 B1 執行個體時數

記錄檔

記錄檔 API 於擷取記錄資料時計算用量。

記錄內容擷取配額適用於應用程式的要求記錄和應用程式記錄資料。App Engine 應用程式的記錄功能是由 Stackdriver 提供。如需深入瞭解相關費率與限制,請參閱 Stackdriver 計價方式說明。

郵件

App Engine 對使用電子郵件的計費方式是「依照訊息數量」來計算,每位收件人收到的每封電子郵件都算一則訊息。舉例來說,如果您將一封電子郵件傳送給十位收件人,則系統會計為 10 則訊息。

訊息傳送數
應用程式傳送的訊息總數。請注意,訊息傳送數的最大配額會一直停留在免費層級,直到您第一次結清應用程式費用為止。
管理員訊息傳送數
應用程式向應用程式管理員傳送的訊息總數 (每封管理員電子郵件的總大小限制為 16 KB,標題、附件與內文均合計在內)。
訊息內文資料傳送量
在電子郵件內文中傳送的資料量,這也會算入「連出頻寬」配額中。
附件傳送數
隨電子郵件一同傳送的附件總數。
附件資料傳送量
透過電子郵件附件傳送的資料量,這也會算入「連出頻寬」配額中。
資源 預設每日上限 頻率上限
電子郵件的收件者人數 100 則訊息 每分鐘 8 則訊息
管理員電子郵件傳送數 5,000 封郵件 每分鐘 24 封郵件
訊息內文資料傳送量 60 MB 每分鐘 340 KB
附件傳送數 2,000 個附件 每分鐘 8 個附件
附件資料傳送量 100 MB 每分鐘 10 MB

Mail API 最多可加入 50 位授權寄件者。

傳送超出每日配額的郵件

如果您的應用程式需要更高的郵件傳送配額,可以使用第三方郵件供應商 (例如 SendGridMailjetMailgun)。

要求

連出頻寬 (計費)

應用程式回應要求而傳送的資料量。

當中包含:

  • 應用程式伺服器、靜態檔案伺服器或 Blobstore 為回應要求 (無論安全與否) 而提供的資料
  • 透過電子郵件傳送的資料
  • 透過「網址擷取」服務傳送的連出 HTTP 要求資料
連入頻寬

應用程式從要求收到的資料量。每個連入 HTTP 要求最大不得超過 32 MB。

當中包含:

  • 應用程式從要求 (無論安全與否) 接收的資料
  • 上傳至 Blobstore 的資料
  • 透過「網址擷取」服務接收、用於回應 HTTP 要求的資料
安全連出頻寬
應用程式為回應要求而透過安全連線傳送的資料量。安全連出頻寬也會計入「連出頻寬」配額。
安全連入頻寬
應用程式透過安全連線從要求接收的資料量。安全連入頻寬也會計入「連入頻寬」配額。
資源 每日上限 頻率上限
連出頻寬 (計費,含 HTTPS) 1 GB 免費;最多 14,400 GB 每分鐘 10 GB
連入頻寬 (含 HTTPS)

下表為搜尋功能的免費配額。請參閱 JavaPythonGo 的說明文件,進一步瞭解各種搜尋呼叫類型。

系統會按照價目表中列出的費率,向您收取 Search API 資源的使用費。

資源或 API 呼叫 免費配額
總儲存空間 (文件與索引) 0.25 GB
查詢 每日 1000 次查詢
新增文件至索引 每日 0.01 GB

應用程式主控台中的「配額」專區會列出 API 要求的初步計算結果。請注意,如果在一次呼叫中把多份文件編入索引,則呼叫的次數會隨著文件的份數而增加。

為確保服務穩固性,Search API 有下列限制:

  • 在單一應用程式與單一索引內,每分鐘查詢執行時間的累計上限為 100 分鐘。
  • 每分鐘新增/刪除文件數上限為 15,000 份
此外,單一索引設有 10 GB 的儲存空間限制。如果應用程式嘗試超出此額度,系統會傳回配額不足錯誤。您可以在 Google Cloud Console 的 App Engine Search 頁面中提交要求,最多可將上限提升到 200 GB。

注意事項:雖然上述限制均以分鐘為計算單位,但 Cloud Console 中顯示的是各項限制的每日總額。客戶如選用白銀級、爍金級或白金級支援服務,可與支援代表聯絡,申請提高總處理量限制。

通訊端

每日與每分鐘 (爆發) 資料量上限
應用程式在使用通訊端時,分別有每分鐘和每日這兩種速率限制。每分鐘限制的設定目的在於控管應用程式的爆發行為。
資源 每日上限 每分鐘 (爆量) 上限
通訊端繫結次數3,456,00019,200
通訊端建立次數3,456,00019,200
通訊端連接次數3,456,00019,200
通訊端傳送次數663,552,0003,686,400
通訊端接收次數663,552,0003,686,400
通訊端位元組接收量3.3 TB2.4 GB
通訊端位元組傳送量3.3 TB2.4 GB

工作佇列

工作佇列 API 呼叫數
應用程式呼叫工作佇列 API 以將工作排入佇列的總次數。
工作佇列儲存的工作數
應用程式已排入佇列但尚未執行的工作總數。
工作佇列儲存的工作位元組數
應用程式已排入佇列但尚未執行的工作耗用的位元組數。

工作在執行時,相關要求會計入應用程式的要求配額

以下限制適用於所有工作佇列:

資源 每日上限 頻率上限
工作佇列 API 呼叫數 1,000,000,000
工作佇列管理呼叫數 (使用 Cloud Console) 10,000
資源 預設限制
工作佇列儲存的工作數 10,000,000,000
工作佇列儲存的工作位元組數
佇列數量上限 (包含發送與提取佇列,但不含預設佇列) 100 個佇列。

注意事項:系統將在執行或刪除工作後,釋出工作使用的儲存空間。儲存空間配額每隔一段固定期間才會更新,因此可能無法立即反映收回的空間。您可以調整佇列配置來設定「儲存的工作位元組數」限制,詳情請參閱 PythonJavaGoPHP 的說明文件。

下列限制適用於個別類型的工作佇列:

發送佇列上限
工作大小上限100 KB
佇列的執行速率每個佇列每秒叫用 500 個工作
工作的預定執行時間 (倒數計時制)從目前日期與時間起 30 天
可加入批次的工作數量上限100 個工作
可加入交易的工作數量上限5 個工作
工作佇列預設數量上限100 個佇列。如需提高上限,請與支援代表聯絡。
提取佇列上限
工作大小上限1MB
工作的預定執行時間 (倒數計時制)從目前日期與時間起 30 天
可加入批次的工作數量上限100 個工作
可加入交易的工作數量上限5 個工作
單次作業中可申請釋出資源的工作數量上限1000 個工作
針對批次工作申請釋出資源時的酬載大小上限32MB
工作佇列預設數量上限100 個佇列。如需提高上限,請與支援代表聯絡。

Cron

以下是 Cron 工作的專用配額規定。

Cron 工作數
Cron 的工作數量。
資源 預設限制
Cron 工作數 250 項 Cron 工作

網址擷取

網址擷取 API 呼叫數
應用程式使用網址擷取服務來執行 HTTP 或 HTTPS 要求的總次數。
網址擷取資料傳送量
在要求中傳送至網址擷取服務的資料量,這個資料量也會計入「連出頻寬」配額。
網址擷取資料接收量
在回應中從網址擷取服務接收的資料量,這個資料量也會計入「連入頻寬」配額。
資源 每日上限 頻率上限
網址擷取 API 呼叫數 860,000,000 次呼叫 每分鐘 660,000 次呼叫
網址擷取資料傳送量 4.5 TB 每分鐘 3,600 MB
網址擷取資料接收量 4.5 TB 每分鐘 3,600 MB