NGINX 参数配置与调优

复制代码
1 .worker_connections;#每个worker进程能处理的最大连接数。
复制代码
# 估算每个连接的内存占用(约 256KB-1MB,取决于配置)
可用内存 ÷ 每个连接内存 ≈ 总连接容量

# 示例:8GB 内存服务器
总内存 = 8 × 1024 = 8192 MB
保留系统和其他服务 = 2048 MB
NGINX 可用内存 = 6144 MB
每个连接估算内存 = 0.5 MB (512KB)

worker_connections ≈ (6144 ÷ 0.5) ÷ worker_processes
                  ≈ 12288 ÷ 4 (假设4个worker)
                  ≈ 3072
复制代码
2 .worker_processes auto; # 与CPU核心数一致,`auto`为自动检测。
3 .keepalive_timeout 65; # 客户端长连接保持时间。可适当降低(如30s)以释放连接。
4 .keepalive_requests 1000; # 单个长连接上可处理的请求数,避免频繁建连。
5. 针对参数 worker_rlimit_nofile:
复制代码
# 根据服务器内存大小推荐配置
# 内存 ≤ 2GB: worker_rlimit_nofile 20000
# 内存 4GB: worker_rlimit_nofile 40000
# 内存 8GB+: worker_rlimit_nofile 65535 或更高

worker_processes auto;
worker_rlimit_nofile 65535;

events {
    worker_connections 10240;
}

最终建议 :先设置为 65535(这是 Linux 下一个常见的较高值),然后通过监控实际使用情况,再决定是否需要进一步调整。大多数生产环境在 20000-50000 之间即可满足需求。

相关推荐
江华森8 小时前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森8 小时前
Matplotlib 数据绘图基础入门
运维
江华森8 小时前
NumPy 数值计算基础入门
运维
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--6 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森6 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜7 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB8 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
zzzzzz3109 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode9 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏