worker 配置
worker_processes 通常设为 CPU 核心数,worker_connections 决定单个 worker 最大并发连接数。两者相乘是理论最大并发。
worker_processes auto;
events {
worker_connections 4096;
use epoll;
multi_accept on;
}
缓冲区调优
代理场景下缓冲区配置不当会导致频繁磁盘 IO。proxy_buffer_size 用于响应头,proxy_buffers 用于响应体。
proxy_buffer_size 16k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
长连接
对上游启用 keepalive 可显著减少 TCP 握手开销,在高 QPS 场景下效果明显。
upstream backend {
server 127.0.0.1:8080;
keepalive 32;
}
压测对比
使用 wrk 对同一接口压测,调优前 P99 延迟 180ms,调优后降至 42ms,QPS 提升约 2.3 倍。