Nginx是大型架构核心,下面我详解Nginx性能@mikechen
充分利用多核CPU
Nginx 采用多进程 + 事件驱动架构。默认只有一个进程,无法利用多核性能。

优化配置
worker_processes auto; worker_cpu_affinity auto;
效果
自动匹配 CPU 核心数
吞吐提升 2~3 倍
CPU 利用率从 25% 提升至 90%
示例说明
8核服务器自动启用8个worker,每个进程独立处理连接,实现真正的并行吞吐。
最大并发连接数
每个 worker 能同时处理的连接数由该参数控制。默认值 1024,太小。

优化配置
events {
use epoll;
worker_connections 65535;
}
同时提升系统文件句柄限制:
ulimit -n 100000
效果
并发连接能力从 1 万提升到 50 万
避免 “too many open files” 报错
高峰期不再丢连接
示例说明
8核 × 65535 ≈ 52 万连接,轻松支撑百万级请求场景。
启用高效 I/O 模型
Epoll 是 Linux 下最高效的 I/O 多路复用机制(O(1) 复杂度),比 select、poll 性能更高。

配置
events {
use epoll;
}
效果
CPU 消耗降低约 40%
并发响应延迟明显下降
稳定支撑海量长连接(如 WebSocket)
示例说明
当上万请求同时到达时,epoll 只处理“有事件”的连接,而不是轮询所有请求,性能差距可达 10 倍。
零拷贝与网络传输优化
默认情况下,Nginx 在用户态和内核态之间频繁拷贝数据。
启用 sendfile 可让数据直接在内核空间传输,实现零拷贝。

优化配置
sendfile on; tcp_nopush on; tcp_nodelay on;
效果
静态资源传输速度提升约 30%;
CPU 占用下降约 20%;
WebSocket、HTTP/2 实时通信更流畅。
