为什么我不能使用 nginx 传输多个文件?

为什么我不能使用 nginx 传输多个文件?

我使用 Django 编写了一个基本的文件服务器。它在我的 Raspberry PI(1 CPU)上运行,并提供来自我的 NAS 的文件。

当我尝试从它下载​​文件(一次下载多个大文件,每个约 500 Mb)时,我实际上只能一次下载一两个。我不知道问题出在 nginx(我已将其设置为提供静态文件)、我的 Django 应用程序(我使用开发服务器而不是 gunicorn 之类的东西来运行它)还是磁盘 i/o。

我的 nginx 配置是:

user pi nogroup;

events {
worker_connections 1024;
accept_mutex off;
}

http {
include mime.types;
default_type application/octet-stream;
access_log /tmp/nginx.access.log combined;
sendfile on;
gzip off;

server {
    listen 80 default;
    client_max_body_size 4G;
    server_name _;

    keepalive_timeout 5;

    location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_intercept_errors off;
    proxy_buffering off;

    proxy_pass   http://192.168.1.120:8000;
    }

    location /mnt/ {
    internal;
    alias /mnt/;
    }
}
}

我怎样才能提高设置的吞吐量,或者瓶颈可能只是 I/O?

答案1

使用开发服务器时,您每次只能处理一个请求。它没有线程/处理池。

相关内容