行业资讯
Nginx高并发调优worker与连接数配置
一、先看并发模型Nginx 采用 master-worker 模型master 负责管理 workerworker 处理连接和请求。它通过事件驱动处理大量连接因此高并发能力强。但默认配置不一定适合生产worker 数、连接数、文件描述符、keepalive 和系统内核参数都可能成为瓶颈。配置作用常见关注点worker_processesworker数量通常按CPU核数worker_connections单worker连接上限受文件描述符限制keepalive_timeout长连接保持时间太长占连接worker_rlimit_nofileworker文件上限要配合系统ulimit理论最大连接数约为worker_processes * worker_connections但反向代理场景中一个客户端请求可能还占用到后端的连接实际容量要打折。二、worker和连接数配置生产配置可以从worker_processes auto开始让 Nginx 按 CPU 核数创建 worker。worker_connections要结合内存、文件描述符和业务请求模型设置。user nginx; worker_processes auto; worker_rlimit_nofile 200000; events { use epoll; worker_connections 65535; multi_accept on; }epoll是 Linux 下高并发常用事件模型。multi_accept可以让 worker 一次接受尽可能多的新连接但在极端流量下可能造成单个 worker 忙碌需要结合压测观察。修改后要用nginx -t检查配置再平滑 reload。三、系统限制必须同步调整只改 Nginx 配置不够。Linux 的ulimit、systemd 限制、内核网络队列都会影响高并发表现。如果 Nginx 日志出现too many open files说明文件描述符上限不足。# /etc/systemd/system/nginx.service.d/override.conf [Service] LimitNOFILE200000systemctl daemon-reload systemctl restart nginxcat/proc/$(pgrep-nnginx)/limits同时可以根据场景调整net.core.somaxconn、net.ipv4.ip_local_port_range、net.ipv4.tcp_tw_reuse等参数。但内核参数不要复制粘贴必须结合连接方向、短连接比例和压测结果。四、代理场景的超时和keepalive高并发下连接保持时间影响非常大。keepalive_timeout太长会让空闲连接占用资源太短又会增加握手开销。后端 upstream 也应启用 keepalive减少 Nginx 到应用的重复建连。upstream app { server 10.0.1.10:8080; server 10.0.1.11:8080; keepalive 128; } location / { proxy_http_version 1.1; proxy_set_header Connection ; proxy_connect_timeout 2s; proxy_read_timeout 10s; proxy_pass http://app; }调优必须基于指标活跃连接、等待连接、请求耗时、499/502/504、CPU、内存和后端连接池。Nginx 高并发不是把数字调大而是让入口、系统限制和后端承载能力保持一致。压测时要区分静态资源、普通 API、长轮询和大文件下载。不同请求对连接、带宽、磁盘和后端线程的压力完全不同。若业务大量使用 HTTPS还要观察握手开销和证书配置必要时启用会话复用。访问日志也要采样或异步写入避免高峰期日志 IO 反过来拖慢请求。真正有效的调优是从业务流量模型出发建立容量基线。还要为异常流量准备保护措施。可以按 IP、接口或租户做限流对上传接口单独限制请求体大小对慢请求设置更短的上游超时。入口层保护不是为了替业务兜底所有问题而是在后端异常时延缓雪崩。调优完成后应记录压测方法、配置版本和容量结论方便下次扩容或迁移时复用。配置上线后还要持续观察峰谷差异避免只按平均流量判断容量。 本文是《服务部署与运维》系列持续更新关注不迷路。 下一篇《云原生CI/CD流水线设计与GitOps实践》讲入口容量稳定后如何把配置变更纳入持续交付。 你在实际项目里遇到过 worker 连接数调大后吞吐量反而没有提升的问题吗评论区聊聊。觉得有用点个赞收藏方便回头查阅 相关可运行源码/资料已整理成资源包可在我主页的资源里自取。☁️ 本文示例需要一台云服务器新用户可通过此链接领取优惠自用https://cloud.tencent.com/act/cps/redirect?redirect2446cps_key49a769c067bd9c9f53fcb1bdf9feaf23fromconsolecps_promotion_id102832
郑州网站建设
网页设计
企业官网