Nginx是大型架构核心,下面我详解Nginx性能@mikechen
充分利用多核CPU
控制Nginx工作进程数量。通常设置为CPU核心数或CPU核心数的倍数,以充分利用多核。过多会增加上下文切换,过少会浪费资源。
示例:4核机器可设置:

worker_processes 4;
最大并发连接数
这个值设置得越高,单个进程能处理的并发连接就越多。
总的最大并发连接数等于 worker_processes * worker_connections。
你需要根据服务器的内存、和预期的并发量来调整。
通常可以设置为 10240 或更高(但要确保操作系统的文件描述符限制也相应提高)。

零拷贝与网络传输优化
sendfile:启用零拷贝,减少内核-用户空间复制;

sendfile on; tcp_nopush on; tcp_nodelay on;
tcp_nopush:合并头部与数据批量发送;
tcp_nodelay:禁用 Nagle 算法,减少小包延迟(动态接口有效)。
连接超时设置
配置持久连接(Keep-Alive)的超时时间。

持久连接允许客户端在同一个TCP连接上发送多个请求,减少了建立和关闭连接的开销(TCP三次握手和四次挥手)。
http {
# 保持连接的超时时间,客户端可以重用这个连接
keepalive_timeout 60s;
# 在一个连接上最多可以发送的请求数
keepalive_requests 1000;
}
优化建议: 适当增加keepalive_timeout的值(例如 30-60秒),可以减少连接建立的开销。
但如果设置得太长,空闲连接会占用服务器资源,需要平衡。
作者简介
陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注作者「mikechen」公众号,获取更多技术干货!
后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》