gpt4 book ai didi

python - Django Nginx Gunicorn = 504 超时

转载 作者:太空宇宙 更新时间:2023-11-03 15:17:05 26 4
gpt4 key购买 nike

我正在尝试使用 Nginx + Gunicorn 在生产服务器上发布 Django 应用程序。当我在服务器上进行简单的压力测试时(按住 F5 键一分钟),服务器返回了一个 504 Gateway Time-out 错误。为什么会这样?这个错误只有在用户做多个并发请求时才会出现,否则系统将对所有人完全不可用?

最佳答案

当您按住 F5 时:

  • 您已经发起了数百个请求。
  • 这些请求已填满您的 gunicorn 请求队列。
  • 请求处理程序不会在连接断开后立即被剔除。
  • 您最新的请求排在所有之前请求的队列中。
  • Nginx 超时。
  • 对每个人。

解决方案:

  • 在 Nginx 中设置速率限制桶,以 IP 为键,这样恶意用户就无法向您发送垃圾邮件请求和 DOS 您的网站。
  • 在 Nginx 中设置一个全局速率限制桶,这样您就不会填满您的请求队列。
  • 让 Nginx 提供一个漂亮的“Reddit 负载过重”风格的页面,让用户知道这是一个有目的的事件

或者:

用 uwsgi 替换 gunicorn。它速度更快,内存效率更高,与 nginx 顺利集成,最重要的是:如果连接断开,它将立即终止请求处理程序,这样 F5 垃圾邮件就无法终止您的服务器。

关于python - Django Nginx Gunicorn = 504 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20277537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com