執行個體是 App Engine 用來自動調整應用程式資源調度的運算單位。在任何特定時間內,您的應用程式皆可在單一或多個執行個體上執行,處理遍布這些執行個體的要求。
手動調整資源配置的執行個體應會無限期執行,但由於執行個體可能會因故障而提早終止,或因更新而重新啟動,因此無法保證運作時間。軟硬體故障可能會在無預警的情況下發生,造成執行個體提前終止或頻繁重新啟動,而且解決問題可能需要耗費大量時間。
如有可用更新,所有彈性執行個體每週可能會重新啟動一次。我們無法保證一定能按照這個時間表提供服務。 在重新啟動期間,系統會自動提供回溯相容的重要更新給基礎作業系統使用。每次重新啟動,應用程式的映像檔皆維持不變。
健康狀態檢查
App Engine 會定期傳送健康狀態檢查要求,藉此確認執行個體是否正在執行,以及檢查執行個體是否已完全啟動,並準備好接受傳入的要求。根據預設,系統會啟用這些健康狀態檢查,也就是所謂的分割健康狀態檢查。收到健康狀態檢查的執行個體必須在指定時間間隔內回應。
如要將分割健康狀態檢查的預設行為延伸到應用程式,您可以自訂 app.yaml 檔案,設定兩種類型的健康狀態檢查:
- 有效性檢查會偵測 VM 執行個體及其容器是否正在執行。如果 VM 執行個體未通過存活檢查,系統會自動重新啟動執行個體。有效性檢查可能會因設定的門檻和時間間隔,或因容器當機而失敗。
- 就緒檢查會偵測 VM 執行個體是否準備好接受傳入的要求。如果 VM 執行個體未通過完備性檢查,表示 VM 執行個體尚未完成啟動程序,無法接收要求。VM 執行個體通過就緒檢查並完成啟動後,就會新增到可用的執行個體集區中。
如要進一步瞭解分割健康狀態檢查的行為,請參閱「遷移至分割健康狀態檢查」指南。
執行個體進行健康狀態檢查時,App Engine 記錄可能會顯示執行個體處於下列任一狀態:
- 健康。執行個體已收到健康狀態檢查要求,並正在處理要求。健康狀態表示執行個體有超過 820 MB 的可用磁碟空間,且應以 HTTP 狀態碼
200回應健康狀態檢查。 - 不健康。執行個體拒絕健康狀態檢查要求,且未能回應指定次數的連續健康狀態檢查要求。App Engine 會持續傳送健康狀態檢查要求,如果健康狀態不良的執行個體持續未能回應健康狀態檢查,且連續失敗次數達到預定值時,系統將重新啟動該執行個體。
- Lameduck。系統已排定關閉或重新啟動執行個體。關機期間,執行個體會完成進行中的要求,並拒絕新的要求。應用程式會傳回
503程式碼,表示執行個體無法處理要求。在執行個體關閉或重新啟動之前,關機指令碼的執行時間範圍有限,且無法設定為較短或較長。 - App Lameduck。執行個體正在準備處理流量。應用程式會傳回
503程式碼,表示執行個體無法處理要求。VM 執行個體完成啟動並準備好處理流量後,就會進入健康狀態並處理要求。如果 VM 執行個體未及時啟動,執行個體會變更為不健康狀態,並遭到移除。
lameduck 和應用程式 lameduck 行為都是 VM 執行個體正常程序的一部分。
監控資源使用量
您可以在Google Cloud 控制台的「執行個體」頁面查看執行個體的運作情況,當中會顯示每個執行個體的記憶體與 CPU 使用量、運作時間、要求次數及其他統計資料。您也可以針對任何執行個體手動啟動關閉程序。
App Engine 彈性環境的 NTP
App Engine 彈性環境提供網路時間通訊協定 (NTP) 服務,使用 Google NTP 伺服器。不過,彈性環境中的 NTP 服務無法編輯。
執行個體位置
系統會根據專案設定,依地理區域自動配置執行個體。
執行個體資源調度
應用程式執行時,系統會將連入要求轉送至適用服務/版本的現有或新執行個體。每個有效版本都必須至少有一個執行個體正在執行,而服務/版本的縮放類型會控管額外執行個體的建立方式。您可以在應用程式的 app.yaml 中指定縮放類型。根據預設,應用程式會使用自動調整資源配置,也就是說,App Engine 會管理閒置執行個體的數量。
- 自動調整資源配置
- 自動調整資源配置功能會根據要求比率、回應延遲時間和其他應用程式指標建立執行個體。您可以設定這些指標的門檻,以及透過設定
automatic_scaling元素,指定隨時保持運作的執行個體數量下限。
- 手動調整資源配置
- 手動調整資源配置會指定要持續執行的執行個體數量,無論工作負載程度為何。這種資源配置類型讓各項工作 (例如複雜的初始化) 及各時期皆依賴記憶體狀態的應用程式得以執行。
管理服務
視執行個體的擴縮類型而定,您可以在 Google Cloud 控制台或 Google Cloud CLI 中管理服務和版本。
停止版本
App Engine 中的每個版本都會在一或多個執行個體中執行,具體數量取決於您設定的處理流量。
按一下分頁標籤,瞭解如何使用自選工具:
控制台
如要停止或停用服務版本,請按照下列步驟操作:
前往 Google Cloud 控制台的 App Engine「Versions」(版本) 頁面:
從表格中選取版本,然後按一下「停止」。
gcloud
執行以下指令:
gcloud app versions stop --service=SERVICE VERSION
更改項目:
- SERVICE 改為您的服務名稱。
- VERSION 改為您的服務版本名稱。
刪除服務
每項服務都可以設定為使用不同的執行階段,並以不同的效能設定運作。你無法刪除預設服務。刪除服務時,系統也會一併刪除專案中的所有相關版本。
按一下分頁標籤,瞭解如何使用自選工具:
控制台
如要刪除服務:
前往 Google Cloud 控制台的 App Engine「服務」頁面:
從表格中選取服務,然後按一下「刪除」。
gcloud
執行以下指令:
gcloud app services delete SERVICE
更改項目:
- SERVICE 改為您的服務名稱。