配額

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

配額類型

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

  • 免費配額讓應用程式可以獲得定量的各項免費資源。 如果應用程式超出免費配額,系統就會針對該資源的額外用量向您收費

    只有標準環境才會提供免費配額。

  • 每日配額可避免單一應用程式過度耗用資源而使其他應用程式效能劣化,進而保護 App Engine 系統的健全。一旦超出這個限制,就會收到錯誤訊息。系統每天會在太平洋時間凌晨 12 點重新補足每日配額。
  • 每分鐘配額是一種防止應用程式在極短時間內耗盡所有資源的機制,同時也能避免其他應用程式獨占特定資源。如果您的應用程式消耗某項資源的速度過快,用盡某種每分鐘配額,則 Cloud Console「配額」頁面的相應配額旁會顯示「已達上限」字樣。如果資源耗用已達每分鐘上限,對該項資源的要求均會遭到拒絕。

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

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

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

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

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

支出上限

較舊的 App Engine 應用程式可以建立支出上限,以大致控管您使用 App Engine 資源的費用上限。2019 年 12 月 12 日後,您就無法再建立支出上限,但是可以變更或移除現有支出上限

如要瞭解其他管控成本的機制,請參閱管理費用相關說明。

如何補足資源

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

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

資源耗盡

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

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

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

提示:您可以調整應用程式設定,在應用程式超出配額時顯示自訂的錯誤頁面。如需詳細資料,請參閱 Python (2.73)、JavaGo、PHP (5.57) 或 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 發送電子郵件。如果您擁有白銀級、爍金級或白金級支援方案,並且希望增加其他資源的配額,請與支援代表聯絡並要求提高總處理量限制。

App Engine 彈性環境的配額

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

資源

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

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

預設 Cloud Storage 值區

以下列出 Cloud Storage 值區每日使用量的免費配額。您可以在 Google Cloud Console的 App Engine settings (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 ID 或純索引鍵查詢的呼叫。
資源 預設限制
儲存的資料 (計費) 1 GB 免費;無上限。
如果您超過免費配額,系統會收取相關費用
索引數量 200
實體讀取數 50,000 免費;無上限。
如果您超過免費配額,系統會收取相關費用
實體寫入數 20,000 免費;無上限。
如果您超過免費配額,系統會收取相關費用
實體刪除數 20,000 免費;無上限。
如果您超過免費配額,系統會收取相關費用
小型作業 無限制

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

部署

在每個 App Engine 應用程式中,您每天最多可以部署 10,000 次。

當您部署時,Cloud Build 會建構儲存於 Container Registry 中的容器映像檔。如果映像檔耗用的總儲存空間超過免費方案,系統將會向您收取費用。

執行個體時數

執行個體是依照運作時間計費,計費單位為小時。

「F」和「B」執行個體類別 (又稱為「前端」和「後端」執行個體類別) 各有專屬的免費配額。請注意,使用各項 App Engine 服務時,適用的配額規定取決於服務的執行個體類別。

資源 免費配額
「F」執行個體 每天免費時數為 28 小時
「B」執行個體 每天免費時數為 9 小時

執行個體啟動之後即開始累計執行個體時數,結束累計的時間點如下所述 (視您為執行個體指定的資源調度類型而定):

  • 基本或自動調整資源配置:執行個體完成最後一個要求的處理作業後十五分鐘結束累計。
  • 手動調度資源:執行個體關閉十五分鐘後結束累計。

如果 App Engine 建立的閒置執行個體數量超過您在 Cloud Console「效能設定」分頁中指定的上限,超過的執行個體不會累計執行個體時數。

記錄檔

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

記錄檔內容擷取配額適用於應用程式的要求記錄檔和應用程式記錄檔資料。App Engine 應用程式的記錄功能是由 Google Cloud 作業套件提供。如要進一步瞭解相關費率與限制,請參閱 Google Cloud 作業套件定價的相關說明。

郵件

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 中顯示的是各項限制的每日總額。客戶如有選用白銀級、爍金級或白金級支援服務,可與支援代表聯絡,申請提高總處理量限制。

工作佇列

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

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

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

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

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

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

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

Cron

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

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

網址擷取

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