返回标题之前,脚本超时:wsgi.py-Elastic Beanstalk上的Django

时间:2019-03-14 23:48:00

标签: django wsgi amazon-elastic-beanstalk

我在Elastic Beanstalk上有一个Django应用。它可以在99%的时间内正常工作,但是有时在向views.py中的某个功能提交请求后,该应用程序超时,处于脱机状态3-5分钟,然后像没有任何反应一样弹出在线。日志中唯一的迹象是

Script timed out before returning headers: wsgi.py
Script timed out before returning headers: wsgi.py
Script timed out before returning headers: wsgi.py

然后恢复正常。在此期间,我还没有看到过大量/异常的内存或CPU使用情况。我见过这种情况的时间是

  • 看似随机
  • 当我的网站受到渗透测试/漏洞扫描程序的攻击(流量增加)
  • 该应用几天未使用,突然又被使用

我不知道如何调试它。

django.config


container_commands:
  01_migrate:
    command: "python manage.py migrate --noinput"
  02_collectstatic:
    command: "python manage.py collectstatic --noinput"

option_settings:
  aws:elasticbeanstalk:container:python:
    WSGIPath: analyzer/wsgi.py
  aws:elasticbeanstalk:container:python:staticfiles:
    /static/: static/

files:
  "/etc/httpd/conf.d/ssl_rewrite.conf":
      mode: "000644"
      owner: root
      group: root
      content: |
          RewriteEngine On
          <If "-n '%{HTTP:X-Forwarded-Proto}' && %{HTTP:X-Forwarded-Proto} != 'https'">
          RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
          </If>

我已启用默认的NumProcesses=1NumThreads=15。我发现另一个SO post在谈论此错误,他们的建议是同时添加WSGIApplicationGroup %{GLOBAL}和增加进程数。

在尝试建议的修复程序之前,我正在尝试确定核心问题。是什么原因导致这种情况发生?流量增加/内存泄漏/数据库连接是否终止了该应用程序?有没有办法监视这样的事情?

如果答案是跟随其他SO帖子,那么为什么

0 个答案:

没有答案