未启用上游 keepalive 连接池时,Nginx 对每个请求都重新与后端建立 TCP 连接,高并发下大量 TIME_WAIT 与握手开销会严重拖累吞吐。
![]()
一、开启上游长连接与缓冲
nginx
upstream backend {
server 10.0.0.11:8080;
server 10.0.0.12:8080;
keepalive 64; # 每个 worker 保持的空闲长连接数
keepalive_requests 10000;
keepalive_timeout 60s;
}
server {
location /api/ {
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering on;
proxy_buffers 16 16k;
proxy_busy_buffers_size 32k;
proxy_pass http://backend;
}
}