長時間運行的請求會阻止所有其他請求

長時間運行的請求會阻止所有其他請求

由於某種原因,每當處理長時間運行的請求(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 個進程

相關內容