我使用 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
使用开发服务器时,您每次只能处理一个请求。它没有线程/处理池。