这是我放入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
和更改max_num_instances: 2
为min_idle_instances: 1
max_idle_instances: 2
,但结果没有什么不同。
它创建的实例数量远远超出了我的需要,自从我注意到这些变化以来,账单金额已经上涨了三倍。非常令人困惑。
答案1
因此,简单的解决方案是,我不应该为标准环境编辑 app.yaml,而是编辑 appengine-web.xml。
现在看来我又完全掌控了!
我还删除了旧服务(我认为它们没有运行,因为它们看起来好像没有打开?因为它们显示为 0%...)。我了解到,有时 GAE 不会自行缩减规模。