将我的 Django/Python 应用程序从 App Engine 标准环境转换为灵活环境

Converting my Django/Python app from App Engine Standard Environment to Flexible Environment

我正在尝试将我的 Django/Python 应用程序从 Google App Engine 标准环境转换为灵活环境,这主要是因为该应用程序变得缓慢并且不断达到软内存限制并建议我升级到更大的实例 class。我已经在最高实例class。我的问题是当我尝试部署构建成功但更新服务时我一直收到错误。

“您的部署未能在指定时间内变得健康,因此被回滚。如果您认为这是一个错误,请尝试调整 'readiness_check' 部分中的 'app_start_timeout_sec' 设置。”

我试过调整 readiness_check 部分以允许更多时间,但它只需要更长的时间来给我同样的错误 seems.I我试过谷歌搜索这个问题并添加更多内存但是同样的错误仍然显示。我被困在这一点上,我不确定还能去哪里看。

这里是在标准环境下成功部署的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 app deploy --versbosity=debug 的日志

https://docs.google.com/document/d/1OLyqg5rQ4vJoXH3XyI476F5ImE0q6XlzoPPjCagS5E0/edit?usp=sharing&resourcekey=0-bpn9nVX_-SrLsYAHwtWPKA

您说您的应用超出了 GAE 标准内存。

您的应用从什么时候开始使用大量内存?如果您的应用程序在部署时立即开始消耗大量内存(甚至在收到 HTTP 请求之前),那么这可能就是问题所在。

我不完全理解这个问题,但是 GAE flex 在部署时启动了很多工作人员,我怀疑这些工作人员中的每一个都占用了大量内存,并且它们加起来超过了您的内存限制。

尝试更新您的应用,以便稍后消耗内存,例如在收到第一个 HTTP 请求之后。这为我解决了类似的问题。