【问题标题】:In gunicorn server , how to set client_max_body_size 0m在 gunicorn 服务器中,如何设置 client_max_body_size 0m
【发布时间】:2021-02-21 02:16:47
【问题描述】:

我们的应用程序返回大量 json 数据,但如果响应大小大约超过 850 mb,我们会收到 Http 500 错误。我确实试图找到解决方案,这里有一些我看过的链接。

https://serverfault.com/questions/514927/file-uploads-and-client-max-body-size-in-nginx-gunicorn-django nginx - client_max_body_size has no effect ngnix + gunicorn throws truncated response body

将 client_max_body_size 设置为某个值似乎是可能的解决方案。

但我无法弄清楚如何在启动命令中编写此代码

我的启动命令是

gunicorn --bind=0.0.0.0 --workers=4  --timeout=3000 app:app

我的应用程序在托管在 Azure Web 应用服务中的 Flask 中

【问题讨论】:

  • 您的问题解决了吗?有进展吗?
  • @JasonPan 很抱歉我的回复晚了,我们的客户端应用程序是不同的报告工具,到目前为止,我们能够通过烧瓶流获得 2.3 GB 的响应。
  • 我们的 API 端点正在提供 json 数据
  • 建议另外写一个程序来存储和处理2.3GB的json数据。客户端请求返回如此大的数据。如果客户群很大,你觉得方案设计合理吗?

标签: python-3.x flask azure-web-app-service gunicorn


【解决方案1】:

client_max_body_size的设置是为了解决上传文件过大的错误。一般错误代码为 413。

所以我认为配置client_max_body_size的方案并不能解决你的问题。

你觉得webapp中响应json数据超过100M正常吗?此外,您的数据可能超过 850M。 azure webapp服务器能承受的压力,你确定客户端的浏览器也可以吗?

你可以参考这篇文章(HOW BIG IS TOO BIG FOR JSON?.作者测试了返回的json数据大小对浏览器的影响,应该对你很有帮助。

建议:

1.合理使用分页过滤数据,返回有用的数据。

2.在sql脚本中,只返回必要的字段。

【讨论】:

    猜你喜欢
    • 2018-03-27
    • 2013-01-04
    • 2021-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 2014-02-28
    • 1970-01-01
    相关资源
    最近更新 更多