Nginx是大型架构核心,下面我详解Nginx最大并发连接数@mikechen
Nginx 本身没有一个固定的“最大并发连接数”,而是由配置和系统资源共同决定的,常用的理论计算公式是:
最大并发连接数 ≈ worker_processes × worker_connections。

影响最大并发连接数的关键因素有:
worker_processes:一般设置为 CPU 核数左右,用来决定 Nginx 有多少个 worker 进程。
worker_connections:单个 worker 能打开的最大连接数,受 ulimit -n(nofile,单进程最大文件描述符)和系统 file-max 限制。
比如:
worker_processes 4;
events {
worker_connections 1024;
}
理论上最大并发连接数 ≈ 4 × 1024 = 4096(Nginx 直接服务静态资源时)。
如果是反向代理后端,真实可服务的并发用户数通常要折半到 ~2000 左右,甚至更低。
然后,Nginx采用事件驱动和异步非阻塞模型。

个工作进程能够高效处理大量并发连接,因此理论上并发连接数主要受操作系统资源限制,而非Nginx本身。
关键限制包括文件描述符(file descriptors)数量、内存大小、CPU性能以及内核网络参数(如epoll或kqueue能力、tcp参数和内核最大文件句柄数)。
比如:系统层面限制:
如 /proc/sys/fs/file-max、ulimit -n 等不调大,Nginx 配再高也无法真正生效。
最后,通过合理调优操作系统(提升ulimit、调整内核网络参数)、优化Nginx配置、使用负载均衡与多实例水平扩展。
可将Nginx的并发处理能力扩展到数万乃至数十万级别以上。
mikechen睿哥
10年+一线大厂架构经验,资深技术专家,就职于阿里、淘宝等一线大厂,操盘多个亿级数据量大厂核心项目。