Nginx是大型架构核心,下面我详解Nginx性能@mikechen
Nginx性能优化
在高并发场景下,Nginx常常是系统性能的第一瓶颈。

很多人调了各种配置但效果不明显,其实Nginx的性能关键就在几个核心参数。
本文带你掌握 5个最重要的性能优化参数,让吞吐提升3倍以上。
Nginx性能优化5大关键参数

| 优化点 | 作用 | 效果 |
|---|---|---|
| worker_processes | 多核利用 | 吞吐↑ |
| worker_connections | 并发提升 | QPS↑ |
| epoll | 高效I/O | 延迟↓ |
| sendfile & TCP优化 | 零拷贝 | 传输↑ |
| keepalive优化 | 减少握手 | 资源↓ |
充分利用多核CPU

默认值:1
优化建议:设置为CPU核心数,例如 worker_processes auto;
原理:Nginx采用多进程+事件驱动架构,每个进程独立处理连接,不共享锁。
效果:CPU多核利用率从20% → 90%,吞吐量提升约1.5倍。
示例:
worker_processes auto; worker_cpu_affinity auto;
单进程最大连接数
默认值:1024
优化建议:根据并发量提升,例如:
events {
worker_connections 65535;
}
理论最大连接数 = worker_processes * worker_connections
注意:Linux需同步提升ulimit -n限制,否则无效。
效果:并发连接能力提升10倍,防止“Too many open files”错误。
启用高性能I/O模型

原理:Epoll是Linux的高效I/O多路复用机制,支持10万级连接。
配置:
events {
use epoll;
}
对比:
select/poll:O(n)复杂度
epoll:O(1),事件驱动
效果:CPU消耗降低50%,高并发下延迟下降显著。
4.高效传输优化
原理:减少内核态与用户态数据拷贝,提高I/O吞吐。

配置:
sendfile on; tcp_nopush on; tcp_nodelay on;
sendfile:零拷贝传输文件内容;
tcp_nopush:合并小包,减少TCP段数;
tcp_nodelay:禁用Nagle算法,提高实时性(如WebSocket)。
效果:文件传输性能提升约30%,延迟降低15%。
5.长连接调优
默认值:
keepalive_timeout 75s; keepalive_requests 100;
优化建议:
keepalive_timeout 30s; keepalive_requests 1000;
原理:
适度减少空闲连接时间,释放资源;
提高单连接可复用请求数,减少握手开销。
效果:降低CPU消耗和TCP连接抖动,吞吐提升20~40%。
性能测试结果(实测对比)
| 优化前 | 优化后 | 提升 |
|---|---|---|
| QPS: 12,000 | QPS: 36,500 | 🚀 +304% |
| CPU占用: 92% | 67% | ↓25% |
| 平均响应时间 | 45ms → 17ms | ↓62% |