我正试图将我的Django/Python应用程序从谷歌应用程序引擎标准环境转换到灵活环境,主要是因为该应用程序变得缓慢,并且不断达到软内存限制,建议我升级到更大的实例类。我已经在最高的实例类了。我的问题是,当我尝试部署构建成功时,但在更新服务时不断出现错误。
"您的部署未能在分配的时间内恢复正常,因此被回滚。如果您认为这是一个错误,请尝试调整"readines_check"部分中的"app_start_timeout_sec"设置">
我试着调整readines_check部分以留出更多的时间,但它只是需要更长的时间才能给出看起来相同的错误。我试过在谷歌上搜索这个问题并添加更多内存,但仍然显示相同的错误。我被困在这一点上,我不知道还能去哪里看。
以下是成功部署在标准环境上的app.yaml
entrypoint: gunicorn -b :$PORT xpotools.wsgi
instance_class : F4_1G
automatic_scaling:
min_instances: 5
min_pending_latency: 30ms
max_pending_latency: 4s
max_concurrent_requests: 20
min_idle_instances: 3
inbound_services:
- warmup
handlers:
- url: /static
static_dir: static/
secure: always
- url: /.*
script: auto
secure: always
- url: /_ah/warmup
script: auto
这是我试图部署到灵活环境的app.yaml
env: flex
runtime_config:
python_version: 3.7
resources:
cpu: 1
memory_gb: 6
disk_size_gb: 20
entrypoint: gunicorn -b :$PORT xpotools.wsgi
我是不是错过了什么?
来自gcloud应用程序部署的日志--versbosity=debug
https://docs.google.com/document/d/1OLyqg5rQ4vJoXH3XyI476F5ImE0q6XlzoPPjCagS5E0/edit?usp=sharing&resourcekey=0-bpn9nVX_-SrLsYAHwtWPKA
您说您的应用程序超出了GAE标准内存。
你的应用程序在什么时候开始使用大量内存?如果你的应用程序在部署时立即开始消耗大量内存(甚至在收到HTTP请求之前),那么这可能就是问题所在。
我不完全理解这个问题,但GAE flex在部署时会增加很多工作人员,我怀疑这些工作人员中的每一个都会占用大量内存,而且加起来超过了您的内存限制。
尝试更新你的应用程序,以便稍后消耗内存,例如在收到第一个HTTP请求后。这为我解决了一个类似的问题。