2

我尝试使用 nginx + gunicorn 部署 django 应用程序。

我的问题

gunicorn 花费大量时间/proc/mem 将上传的文件复制到本地文件系统中。

  • 时间:35秒复制一个150Mb的文件
  • 中央处理器:> 95%
  • 内存:50Mb

配置:

  • nginx 被配置为使用uploadprogress模块并且进度条工作正常。
  • gunicorn 与套接字文件绑定(尝试使用 tcp 套接字不会改变任何内容)
  • django 1.4:不要在这个文件(FileField)上做任何事情,而是在本地 FS 上复制

我尝试了什么:

在 8050 端口单独运行 gunicorn

  • => 没有进度条(当然既然是 nginx 怎么给这个)
  • => gunciron 需要相同的时间/mem/proc
  • => 传输比使用 nginx 需要更长的时间,但完成速度更快:
    • nginx + gunicorn:传输:4 秒,响应生成:30 秒
    • gunicorn:传输:30 秒,响应生成:4 秒/
  • => 如果在 POST 中将文件放到一个不需要 POST 的视图中,则需要的时间会少一点,但 > 25 秒

当我要求他将文件传输到 django 应用程序时,gunicorn 似乎很弱。

gunicorn cmd 行(无配置文件)

gunicorn_django --user=www-data --group=www-data --workers=2 --bind 192.9.201.3:8050 -t 90 --name=TheName.domain.ltd

4

0 回答 0