App Engine 應用程式是使用 app.yaml
檔案進行設定,其中包含 CPU、記憶體、網路和磁碟資源、資源調度,以及包含環境變數在內的其他一般設定。
app.yaml
檔案簡介
您可以在 app.yaml
檔案中指定 Java 應用程式的執行階段設定,包括版本和網址。這個檔案可做為特定服務版本的部署描述元。
您必須先為應用程式的 default
服務建立 app.yaml
檔案,才能為其他服務建立及部署 app.yaml
檔案。
以下 app.yaml
範例說明如何為最新 Java 版本設定應用程式。如要進一步瞭解如何使用支援的 Java 執行階段,請參閱 Java 執行階段。
runtime: java
env: flex
runtime_config:
operating_system: "ubuntu22"
runtime_version: "21"
handlers:
- url: /.*
script: this field is required, but ignored
manual_scaling:
instances: 1
視應用程式服務的複雜程度而定,您或許只需要在對應的 app.yaml
檔案中定義一些元素。下列範例示範簡易的 Java 應用程式在彈性環境中可能需具備的條件:
您可以為 app.yaml
檔案指定不重複的名稱,但稍後必須一併使用部署指令指定檔案名稱。舉例來說,如果您將 app.yaml
檔案命名為 service-name-app.yaml
或 app.flexible.yaml
,就必須使用下列其中一種方式來部署應用程式:
gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
app.yaml
檔案,請參閱「建構網路服務」一文。
所有設定元素
如需這個設定檔中所有支援元素的完整清單,請參閱 app.yaml
參考資料。
啟用 Java 虛擬機器指標收集功能
您可以為 Java 設定 App Engine 彈性環境,收集 Java 虛擬機器 (JVM) 處理程序的常見指標。系統會使用 Cloud Monitoring 使用的相同 JVM 監控外掛程式收集指標。如要查看 App Engine 的指標完整清單,請參閱 Google Cloud 指標指南。
如要為應用程式收集這些 JVM 指標,請按照下列步驟操作:
appengine.googleapis.com/flex/instance/jvm/gc/count
appengine.googleapis.com/flex/instance/jvm/gc/time
您必須在 app.yaml
的環境變數中設定下列 JMX 系統屬性,然後部署應用程式。
JAVA_USER_OPTS: "-Djava.rmi.server.hostname=172.17.0.1 -Dcom.sun.management.jmxremote.port=10403 -
Dcom.sun.management.jmxremote.rmi.port=10403 -Dcom.sun.management.jmxremote.local.only=false -
Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"