Java
部署時 app.yaml 未更新(Google App Engine、Java)
這是我放在
app.yaml
文件中的內容:runtime: java8 service: 'scheduler' inbound_services: - warmup derived_file_type: - java_precompiled threadsafe: True auto_id_policy: default api_version: '1.0' handlers: - url: (/.*) static_files: __static__\1 upload: __NOT_USED__ require_matching_file: True login: optional secure: optional - url: / script: unused login: optional secure: optional - url: /.*/ script: unused login: optional secure: optional - url: /_ah/.* script: unused login: optional secure: optional - url: /cron/v1/simulations script: unused login: optional secure: optional resources: cpu: 1 memory_gb: 1 disk_size_gb: 1 volumes: - name: ramdisk1 volume_type: tmpfs size_gb: 0.5 automatic_scaling: min_num_instances: 1 max_num_instances: 2 cool_down_period_sec: 180 cpu_utilization: target_utilization: 0.6
部署後,在 GCP 上,它的配置如下所示:
runtime: java8 api_version: '1.0' env: standard threadsafe: true instance_class: F1 inbound_services: - warmup handlers: - url: '(/.*)' application_readable: false static_files: "__static__\\1" require_matching_file: true upload: __NOT_USED__ - url: / script: unused - url: '/.*/' script: unused - url: '/_ah/.*' script: unused - url: /cron/v1/simulations script: unused automatic_scaling: min_idle_instances: automatic max_idle_instances: automatic min_pending_latency: automatic max_pending_latency: automatic
這是結果的螢幕截圖:
我確實嘗試更改
min_num_instances: 1
andmax_num_instances: 2
,min_idle_instances: 1
max_idle_instances: 2
但沒有不同的結果。它創建的實例比我需要的多得多,而且自從我注意到這些變化以來,賬單總額已經增加了三倍。很混亂。
所以簡單的解決方案是,我應該為標準環境編輯的不是 app.yaml,而是 appengine-web.xml。
現在我又完全控制了,看來!
我還刪除了舊服務(我認為它們沒有執行,因為它們看起來好像沒有打開?看到它們顯示為 0%…)。我了解到,有時 GAE 不會自行縮小。