长时间运行的请求会阻止所有其他请求

长时间运行的请求会阻止所有其他请求

由于某种原因,每当处理长时间运行的请求(5 分钟)时,nginx 都会在一段时间(2 分钟)后停止任何新请求。

user www-data www-data;
worker_processes 4;
pid /var/run/nginx.pid;

events {
    worker_connections 1024;
}
http {

sendfile on;   
tcp_nopush on; 
tcp_nodelay on;
keepalive_timeout 200;   
client_max_body_size 12M;
types_hash_max_size 2048;

include /etc/nginx/mime.types;
default_type application/octet-stream;

gzip on;
gzip_vary on;
gzip_proxied any;     
gzip_comp_level 9;    
gzip_buffers 16 8k;   
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";

include /usr/local/nginx/sites/*.conf;
}

这可能是由于 uwsgi 设置导致的问题吗?

[uwsgi]

module=project.wsgi_de:application
socket=127.0.0.1:...

chdir=/var/www/...
pidfile=/tmp/project-master.pid


max-requests=5000
limit-as=1024

master=True
vacuum=True
processes=5

答案1

如果你达到 5 个并发的长时间运行请求,这是预期的行为,因为 uWSGI 正在运行 5 个进程

相关内容