Nginx是大型架构核心,下面详解Nginx性能@mikechen
worker_processes:并发的上限天花板
worker_processes ,决定 Nginx 启动的工作进程数量。
通常建议、与服务器的 CPU 核心数保持一致、或略大。

设置为 auto ,能让 Nginx 自动匹配可用核心数。
worker_processes auto;
合理的进程数,可充分利用多核资源,避免过多进程引起上下文切换,从而提升并发处理能力。
worker_connections:每个 Worker 能处理多少连接
其次,worker_connections ,指定了每个 worker 进程能同时维护的连接数,直接影响整体并发连接容量。
二者的乘积:(worker_processes × worker_connections),近似表示服务器在理想条件下可支持的最大并发连接数。
# 每个进程允许的最大连接数: worker_connections 65535;

但实际可达值还受系统文件描述符限制、内存及应用层处理能力的约束。
因此需要配合操作系统参数(如 ulimit、epoll 数量…等),进行综合调优。
keepalive_timeout:提高并发的关键优化项
keepalive_timeout 是一项关键优化,适当的 keep-alive 超时能够在重复请求之间重用 TCP 连接。
减少握手开销,从而提升每个连接的吞吐量与响应效率。

# 客户端连接保持时间
keepalive_timeout 65;
# 单个长连接允许的最大请求次数,默认 100,建议调大
keepalive_requests 10000;
但超时时间设置需权衡资源占用与连接复用的收益,过长会占用宝贵连接资源,过短则降低复用带来的性能增益。
高性能 IO 三件套
此外,高性能 I/O 的三项常用优化技术——sendfile、tcp_nopush 和 tcp_nodelay,在静态资源传输与低延迟响应中发挥重要作用。

sendfile 可实现内核态的零拷贝传输,减少用户态与内核态间的数据复制开销。
tcp_nopush(或 TCP_CORK),用于在发送大文件时尽可能合并小数据包,提升网络带宽利用率。
tcp_nodelay 则关闭 Nagle 算法,适用于需要低延迟的小包交互场景。
合理组合这些选项,可在不同负载特性下分别优化吞吐与延迟表现。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注作者「mikechen」公众号,获取更多技术干货!
后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》