配額

App Engine 應用程式可以使用的資源有一定的配額。

您可以在 Google Cloud Platform 主控台的配額詳細資料頁面中,查看專案的 App Engine 資源每日使用狀況和配額耗用量。

計費限制與安全限制

App Engine 共有三種配額或限制:

  • 免費配額:每個應用程式都可以獲得一定數量的免費資源。只有付費應用程式可以超出免費配額,配額上限為應用程式的支出上限或安全限制 (以先達到者為準)。
  • 支出上限:如果您是專案擁有者帳單管理員,可以在 Google Cloud Platform 主控台的 App Engine 設定中設定支出上限,以便管理應用程式的費用。在停用機制的保護下,應用程式費用可能仍會略為超過支出上限。
  • 安全限制:為了保障 App Engine 系統的健全,Google 設定了安全限制。這類配額可以避免單一應用程式過度耗用資源,以防其他應用程式效能劣化。一旦超出這個限制,無論您有無付費,都會收到錯誤訊息。

支出上限

如果您是專案擁有者帳單管理員,可以為特定專案啟用計費功能。啟用後,該項專案就能使用超過免費額度的額外資源。應用程式使用的資源倘若超出免費額度門檻,則需付費才能使用。

啟用應用程式的計費功能後,建議您設定支出上限,以便大致控管您每日的花費金額。支出上限預設為不設限,因此最好能指定支出上限,如此才能有效控管應用程式費用。請注意,在停用機制的保護下,應用程式費用可能仍會略為超過支出上限。

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

安全限制

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

  • 每日配額會在太平洋時間每日凌晨 12 點時補充。付費應用程式可超出此免費配額,直到支出上限耗盡或達到安全限制為止 (以先達到者為準)。
  • 每分鐘配額是一種防止應用程式在極短時間內耗盡所有資源的機制,同時也能避免其他應用程式獨佔特定資源。如果您的應用程式消耗某項資源的速度過快,用盡其中一種每分鐘配額,則 GCP 主控台中 Quota Details (配額詳細資料) 畫面的相應配額旁會顯示「Limited」(已達上限) 字樣。假設資源消耗已達到每分鐘上限,對該資源的要求將全數遭到拒絕。

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

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

如果您預期有極高的流量到來,或是應用程式因故需要特別高的配額 (例如重大的產品上市活動或大型負載測試),建議您申請白銀級、爍金級或白金級支援服務

如何補充資源

App Engine 會追蹤應用程式的資源使用狀況並比對系統配額。App Engine 將在每天開始的時候重設所有資源測量數據 (除了儲存的資料量外,這項數據隨時反映資料儲存庫使用中的儲存量)。如果免費應用程式用盡了某項資源的配額,在配額獲得補充以前,將無法使用該項資源。付費應用程式則可超出免費配額,直到支出上限耗盡為止。

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

資源耗盡

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

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

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

提示:您可以調整應用程式設定,在應用程式超出配額時顯示自訂的錯誤頁面。詳情請參閱 PythonJavaGo 的設定檔參考資料。

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

以下範例說明如何擷取 OverQuotaError,這是 SendMessage() 方法在超出電子郵件相關配額時可能發出的例外狀況:

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 小時內的配置。

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

預設 Google Cloud Storage Bucket

應用程式可能會使用到預設 Google Cloud Storage Bucket。這個 Bucket 提供免費配額,且不需要應用程式啟用計費功能。您可以在 Google Cloud Platform 主控台的 App Engine 設定頁面為專案建立免費預設 Bucket。

以下是預設 Bucket 的使用配額種類。如需參閱這類配額的說明,請瀏覽 Google Cloud Storage 多區域 Bucket 的價格

預設 Google Cloud Storage Bucket 儲存資料、I/O 與輸出
預設 Google Cloud Storage Bucket 可免費儲存的資料總量有一定限制。

Cloud Storage 作業與網路輸出變更於 2016 年 12 月開始適用新價格。 自 2016 年 12 月起,我們開始針對預設 Google Cloud Storage Bucket 的作業收費。以下列出每日使用量的免費配額。如需進一步瞭解詳細定義與價格資訊,請參閱 Google Cloud Storage 計價方式。此外,預設 Bucket 的網路輸出將計入 1GB 的每日連出頻寬配額。

資源 免費預設上限 啟用計費功能後的預設上限
預設 Google Cloud Storage Bucket 儲存的資料 5 GB 前 5 GB 免費;無上限
預設 Google Cloud Storage Bucket A 級作業 每日 20,000 次作業 每日前 20,000 次作業免費;無上限
預設 Google Cloud Storage Bucket B 級作業 每日 50,000 次作業 每日前 50,000 次作業免費;無上限
預設 Google Cloud Storage Bucket 網路輸出 以連出頻寬配額為準 以連出頻寬免費配額為準;無上限

Blobstore

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

Blobstore 儲存的資料
儲存在 Blobstore 的總資料量,付費與免費應用程式皆可使用。
資源 免費預設上限 啟用計費功能後的預設上限
Blobstore 儲存的資料 5 GB 前 5 GB 免費;無上限

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

靜態資料
單一靜態資料檔案不得大於 32MB。
總儲存空間
應用程式所有版本儲存的程式碼與靜態資料總量都會計入儲存配額。資訊主頁中的表格會列出程式碼與靜態檔案的總儲存量大小,個別大小則分別顯示於「版本」與「後端」畫面。免費應用程式最多可上傳 1 GB 的程式碼與靜態資料。付費應用程式可上傳更多資料,但程式碼與靜態資料儲存量超過 1 GB 的部分,每月每 GB 需支付 $ 0.026 美元的費用。
美國/歐洲 亞洲 (日本)
資源 費用
程式碼與靜態資料儲存空間 - 前 1 GB 免費
程式碼與靜態資料儲存空間 - 超出 1 GB

Datastore

儲存的資料 (可計費) 配額指的是應用程式儲存在 Datastore、Blobstore 和工作佇列的所有資料。Google Cloud Platform 主控台配額詳細資料畫面的 Datastore 專區中列出的其他配額,一律專指 Datastore 服務。

儲存的資料 (可計費)

儲存在資料儲存庫實體與相關索引、工作佇列和 Blobstore 的總資料量。

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

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

請參閱實體與索引的儲存方式一文,深入瞭解把實體與索引儲存在 Bigtable 層級所需要的中繼資料。

索引數量
應用程式現有的資料存放區索引數量,某些索引可能是過去建立的,雖然尚未刪除,但目前並未顯示在應用程式設定之中。請參閱 Datastore 限制頁面,進一步瞭解相關限制的詳細資料。
寫入作業
Datastore 寫入作業的總數。
讀取作業
Datastore 讀取作業的總數。
小型作業
Datastore 小型作業的總數。分配 Datastore ID 的呼叫、純金鑰查詢等,均屬於小型作業。
美國/歐洲 亞洲 (日本)
資源 免費預設每日上限 啟用計費功能後的預設上限
儲存的資料 (可計費) 1 GB * 1 GB 免費;無上限
索引數量 200 * 200
實體讀取數 50,000
實體寫入數 20,000
實體刪除數 20,000
小型作業 無限制 不適用

*非每日限制,而是總量限制。自動產生的單一屬性遞增索引不計入這項限制中。

注意:Datastore 管理員Datastore 檢視者產生的 Datastore 作業都會計入應用程式配額。

部署作業

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

應用程式每個版本限上傳 10,000 個檔案。每個檔案大小上限為 32 MB。此外,若所有版本的所有檔案總大小超過初始免費的 1 GB,則每 GB 每月收取 $ 0.026 美元。

執行個體時數

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

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

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

紀錄

Logs API 於擷取紀錄資料時計算用量,付費與免費應用程式皆可取用。

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

資源 免費預設上限 啟用計費功能後的預設上限
紀錄資料擷取 100 MB 付費應用程式無上限。
紀錄內容擷取配額 5 GB 紀錄資料保存上限為 7 天。 紀錄資料保存上限為 30 天。詳情請參閱 Stackdriver 計價方式

郵件

App Engine 對使用電子郵件的計費方式是「依照訊息數量」來計算,每個收件人收到的每封電子郵件都算一則訊息。舉例來說,把一封電子郵件寄給十位收件人,會算成十則訊息。

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

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

傳送超出每日配額的郵件

如果您的應用程式每日需要傳送超過 7,000 則訊息,您可以選用第三方電子郵件供應商,例如 SendGridMailjetMailgun,因為這類供應商可提供較多配額。

要求

連出頻寬 (可計費)

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

這類資料包括:

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

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

這類資料包括:

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

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

開啟計費功能後,Search API 資源會按照價目表所列的費率收費。

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

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

為確保服務可靠性,Search API 有下列限制:

  • 在應用程式與索引內,每分鐘的匯總查詢執行時間上限為 100 分鐘。
  • 每分鐘新增/刪除文件數上限為 15,000 份
此外,每個索引有 10GB 的儲存空間限制。如果應用程式嘗試超出這個額度,系統會傳回配額不足的錯誤。您可以在 Google Cloud Platform 主控台的 App Engine Search 頁面中提交申請,將此上限提高至 200 GB。

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

通訊端

每日與每分鐘 (爆量) 數據用量上限
應用程式在使用通訊端時,分別有每分鐘和每日這兩種速率限制。每分鐘限制的用意在於控管應用程式的爆量行為。
資源 每日上限 每分鐘 (爆量) 上限
通訊端繫結次數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

工作佇列

Task Queue API 呼叫
應用程式呼叫 Task Queue API 以將工作排入佇列的總次數。
工作佇列儲存的工作數
應用程式已排入佇列但尚未執行的工作總數。
工作佇列儲存的工作位元組數
應用程式已排入佇列但尚未執行的工作耗用的位元組數。這項配額算入「儲存的資料 (可計費)」配額中。

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

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

資源 免費預設上限 啟用計費功能後的預設上限
每日上限 速率上限 每日上限 速率上限
Task Queue API 呼叫 100,000 1,000,000,000
Task Queue 管理呼叫 (使用 GCP 主控台) 10,000 10,000
資源 免費預設上限 啟用計費功能後的預設上限
工作佇列儲存的工作數 1,000,000 10,000,000,000
工作佇列儲存的工作位元組數 500 MB,最高可設為 1 GB。 無。最高可設為儲存的資料 (可計費)
佇列數量上限 (包含推送與提取佇列,但不含預設佇列) 10 個佇列。 100 個佇列。

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

下列限制適用於各自類型的工作佇列:

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

Cron

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

Cron 工作
Cron 的工作數量,付費與免費應用程式皆可使用。
資源 免費預設上限 啟用計費功能後的預設上限
Cron 工作 20 項 Cron 工作 250 項 Cron 工作

網址擷取

URL Fetch API 呼叫
應用程式存取網址擷取服務以執行 HTTP 或 HTTPS 要求的總次數。
傳送的網址擷取資料
在要求中傳送至網址擷取服務的資料量,這也會算入「連出頻寬」配額中。
接收的網址擷取資料
在回應中從網址擷取服務接收的資料量,這也會算入「連入頻寬」配額中。
資源 免費預設上限 啟用計費功能後的預設上限
每日上限 速率上限 每日上限 速率上限
UrlFetch API 呼叫 657,000 次呼叫 每分鐘 3,000 次呼叫 860,000,000 次呼叫 每分鐘 660,000 次呼叫
傳送的 UrlFetch 資料 4 GB 每分鐘 22 MB 4.5 TB 每分鐘 3,600 MB
接收的 UrlFetch 資料 4 GB 每分鐘 22 MB 4.5 TB 每分鐘 3,600 MB
本頁內容對您是否有任何幫助?請提供意見:

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

這個網頁
App Engine Documentation