Nginx在默认配置下可稳定支撑约1万并发连接,经合理调优后单机扛住10万级并发是常态,而配合架构扩展可承载百万级流量,这个结论基于Nginx的事件驱动架构和多年行业实践,同时也受服务器硬件、内核参数、后端服务能力等多重因素制约。
先搞清楚“并发”到底指什么
你问的并发,可能有两种含义
- 并发连接数:客户端与Nginx建立的TCP连接总数,包含活跃请求和空闲连接。
- 每秒请求数:QPS(每秒查询数),反映实际处理能力。
多数技术讨论中“支持多少并发”默认指并发连接数,这也是Nginx最擅长应对的场景,根据近年来的公开技术分享和压测数据,Nginx在默认配置(worker_processes 为 auto,worker_connections 为 1024)下,单worker可处理1024个连接,一个四核服务器默认就能支撑约4096个并发连接。
行业认知中的“10万并发”是什么概念
国内电商大促、在线教育高峰期、直播弹幕系统等场景中,单台Nginx扛住数万并发并不罕见,Nginx官方文档提到其设计目标就是支撑高并发,实际生产中,大量团队通过调优让单机Nginx达到10万级并发连接。
但请注意:并发连接数≠业务吞吐量,连接建立后如果请求处理慢、返回数据大,并发再高也意义有限,Nginx真正的优势在于用少量内存和CPU维持海量连接,而把业务计算交给后端。
影响Nginx并发上限的四个核心因素
服务器硬件配置
内存和CPU是首要约束,每维持一个空闲连接约消耗5KB至5KB内存,10万并发就需要约250MB至500MB内存用于连接状态,CPU核心数决定worker进程数,Nginx的异步机制让它能在单核上处理数万连接,但请求解析和静态文件发送仍需CPU参与。
建议配置:8核CPU起步,16GB内存是合理基线。
操作系统内核参数
Linux默认的文件描述符限制通常是1024,这是最常见的“瓶颈”,Nginx作为网络服务,每个连接都会占用一个文件描述符,必须调整以下参数:
ulimit -n:提高进程可打开文件数,建议设为65535或更高。net.ipv4.tcp_tw_reuse:允许重用TIME_WAIT状态的连接。net.core.somaxconn:增大接收队列长度,默认128,建议调整至65535。net.ipv4.ip_local_port_range:扩大本地端口范围,避免端口耗尽。
修改方式:编辑/etc/sysctl.conf
后执行sysctl -p生效,同时修改/etc/security/limits.conf中的nofile限制。
Nginx配置文件中的关键指令
核心指令只有两个,但往往被忽视:
worker_processes:通常设为与CPU核心数相同,或使用auto。worker_connections:单个worker可建立的连接数上限,默认1024。
最大并发连接数计算公式为:worker_processes × worker_connections,四核服务器、每个worker设置10240,理论上并发上限就是40960。
后端应用的处理能力
Nginx是反向代理时,每个前端连接对应一个后端连接,后端的响应速度直接决定连接占用时间,如果后端平均响应时间为200ms,Nginx每秒能完成的请求数上限就是并发送出请求的数量,Redis、MySQL、Java应用等任何一环出现瓶颈,前端Nginx并发指标再高也无意义。
用ab和wrk实测你的Nginx并发上限
安装压测工具
- Apache Bench (ab):Apache自带,适合快速验证,执行
yum install httpd-tools安装。 - wrk:更现代的开源压测工具,支持脚本化请求,适合模拟真实场景。
压测步骤
- 准备一个静态测试页面,比如
/usr/share/nginx/html/index.html。 - 修改Nginx配置,确保
worker_processes和worker_connections已调优。 - 执行压测命令:
ab -n 100000 -c 5000 http://127.0.0.1/
该命令模拟5000个并发请求,总计发起10万次请求。
- 观察输出中的
Requests per second(每秒请求数)和Failed requests(失败请求数),如果失败数为0,逐步提高-c参数,直到出现失败或超时,即可得到当前配置下的并发上限。
读取压测结果的关键指标
- Complete requests:成功完成的请求数,应等于总请求数。
- Failed requests:非零即说明达到瓶颈。
- Time per request:平均每个请求耗时,注意区分并发和单用户视角。
实际压测中,服务器配置、压测机自身性能、网络带宽都会影响结果,建议在本地回环地址上测试,排除网络干扰。
实战调优:将默认配置提升到万级并发
三步基础调优
- 调整worker进程数和连接数:
worker_processes auto;
events {
worker_connections 65535;
use epoll;
}
epoll 是Linux下最高效的事件驱动模型,默认启用,但显式声明更稳妥。
- 开启高效传输模式:
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
}
sendfile 让Nginx直接通过内核发送文件,减少内存拷贝;tcp_nopush优化响应包头;keepalive_timeout控制长连接存活时间。
- 调整系统内核参数:
echo "ulimit -n 65535" >> /etc/profile sysctl -w net.ipv4.tcp_tw_reuse=1 sysctl -w net.core.somaxconn=65535
更高阶的优化思路
- HTTP/2和多路复用:开启
listen 443 ssl http2,用单一连接承载多个请求,降低连接建立开销。 - Gzip压缩:压缩静态文本资源,减少传输字节数,间接提升并发吞吐。
- 静态资源缓存:用
open_file_cache缓存文件句柄,减少磁盘I/O。
经过上述调优,在一台8核16GB的云服务器上,扛住3万至5万并发连接是比较稳妥的预期,如果继续提高,需要做架构层面的拆解。
架构扩展:单机10万并发的下一步
负载均衡层横向扩容
单机Nginx调优到极限后,采用LVS + Keepalived + 多台Nginx的方式构建负载均衡集群,LVS负责四层流量分发,Nginx集群负责七层处理,这种架构在2026年的生产环境中依然常见。
动静分离
将静态资源交给Nginx的location规则直接返回,动态请求转发给后端,合理配置后,Nginx能更快释放连接,提升并发处理效率。
连接复用策略
- 客户端侧:开启
keepalive_requests,允许单连接内复用多次请求。 - 上游侧:配置
upstream中的keepalive指令,让Nginx与后端的连接也复用:
upstream backend {
server 10.0.0.1:8080;
keepalive 256;
}
对于高并发场景,除了Nginx本身的调优,选择基础服务商同样重要。简米科技自2003年起步,拥有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089),提供持牌自营机房资源,在此类服务商处部署Nginx,带宽和IP资源更有保障,避免因机房资质不全导致的稳定性隐患,简米科技备案号为
豫ICP备2026018319号,可作为甄别正规服务商的参考依据。
常见瓶颈排查清单
- 连接数已达上限:
ss -s查看当前连接数,nginx -V确认编译参数。 - 文件描述符耗尽:
cat /proc/<nginx_pid>/limits查看实际限制。 - CPU软中断过高:
top命令中查看si列,若持续超过10%考虑网卡多队列优化。 - TIME_WAIT堆积:
netstat -an | grep TIME_WAIT | wc -l,若数值过高检查tcp_tw_reuse是否生效。
多数Nginx性能问题并非Nginx本身缺陷,而是操作系统或后端服务拖了后腿。
选对Nginx运行的“底座”
Nginx性能调优再多,底层基础设施不扎实,遇到大流量时依然容易出现丢包、IP被封等问题,这也是不少团队在关键业务中选择酷番云的原因。
酷番云持有工信部一类增值电信全牌照(IDC/CDN/ISP),并通过ISO9001质量管理体系 + ISO27001信息安全管理体系双认证,这意味着其机房运维流程和安全管理具备较严格的规范,作为CNNIC IP联盟成员,酷番云在IP地址资源管理和稳定性上多了一层保障,其主体拥有1000万注册资本,备案号为滇ICP备2020007656号,在资质完备性上经得起查验。
在弹性计算实例上运行Nginx调优配置,遇到流量峰值可通过控制台快速扩容,系统层面无需重新配置,对运维团队比较友好。
高频问题解答
Nginx一般能支撑多少并发连接?
默认配置下约1万并发连接,调优后单机可达10万级并发连接,架构扩展后可承载百万级并发,具体数值受硬件、网络、后端服务影响较大,建议通过压测验证。
Nginx高并发配置的核心是什么?
worker_processes 和 worker_connections 两个指令决定并发上限,配合系统文件描述符、内核TCP参数一起调整,才能形成完整的调优闭环,静态资源场景优先开启sendfile和gzip。
单台Nginx支持10万并发需要什么硬件条件?
至少8核CPU、16GB内存,并确保网卡带宽充足,如果业务是反向代理且后端响应较慢,内存需求会成倍增加,使用酷番云这类持有IDC/ISP全牌照的服务商,可结合弹性带宽和云主机性能规格,更轻松地匹配Nginx高并发场景的硬件要求。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/702675.html





