新上8卡RTX 5090 限时特惠 Read more

Nginx 性能调优——Worker 进程、缓存与 Gzip 实战 - 云数方舟

Nginx 性能调优——Worker 进程、缓存与 Gzip 实战

Nginx 性能调优——云数方舟(YunArk) Worker 进程、缓存与 Gzip 实战

独立服务器高防服务器 上,Nginx 通常是流量的第一入口。默认的 Nginx 配置往往比较保守,无法发挥硬件的全部性能。通过简单的参数调整,即可显著提升并发处理能力和网站响应速度,特别是在高防清洗后的正常流量转发场景中。

一、Worker 进程与连接数优化

Nginx 采用 Master-Worker 架构,性能调优的核心是让 Worker 进程充分利用 CPU 和内存。

# 编辑 nginx.conf
vim /etc/nginx/nginx.conf

# 关键参数
worker_processes auto;          # 设置为 auto,Nginx 会自动匹配 CPU 核心数
worker_cpu_affinity auto;      # 自动绑定 Worker 到 CPU 核心(提升缓存命中率)
worker_rlimit_nofile 65535;   # Worker 进程最大打开文件数

events {
    worker_connections 65535;  # 单个 Worker 允许的最大并发连接数
    multi_accept on;           # 一次接受所有新连接
    use epoll;                 # 使用高效的 epoll 事件模型(Linux)
}

计算最大并发:最大并发 ≈ worker_processes × worker_connections。例如 8 核 CPU × 65535 ≈ 52 万并发连接(理论值)。

二、开启 Gzip 压缩(减少传输体积)

Gzip 能将 HTML/CSS/JS 文件体积压缩 60–80%,大幅加快页面加载速度。

http {
    gzip on;
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 5;          # 压缩级别 1-9,5 是性价比平衡点
    gzip_min_length 256;        # 小于 256 字节不压缩
    gzip_types
        application/javascript
        application/json
        application/xml
        text/css
        text/plain
        text/xml
        image/svg+xml;
}

注意:图片(JPG/PNG)、视频、PDF 等二进制文件已自带压缩,无需再开 Gzip,反而浪费 CPU。

三、静态资源缓存(减少后端请求)

对于图片、CSS、JS 等不常变化的静态资源,设置浏览器缓存,减少重复请求。

location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg)$ {
    expires 365d;             # 缓存 365 天
    add_header Cache-Control "public, immutable";
    access_log off;           # 关闭访问日志,减少磁盘 IO
}

云数方舟 的高防架构中,静态资源缓存还能减轻后端源站的压力,让清洗后的正常流量更顺畅。

四、缓冲与超时设置(提升稳定性)

client_max_body_size 50m;     # 允许最大上传文件 50MB
client_body_buffer_size 128k;
client_header_buffer_size 1k;

proxy_connect_timeout 60s;    # 连接后端超时
proxy_send_timeout 60s;       # 发送请求超时
proxy_read_timeout 60s;       # 读取响应超时

proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 16 32k;

五、针对高防/代理环境的特殊配置

如果使用 云数方舟 BGP 高防,Nginx 通常作为反向代理。需确保正确获取真实访客 IP:

set_real_ip_from 高防IP段;     # 告诉 Nginx 哪些是可信代理
real_ip_header X-Forwarded-For; # 从 Header 中获取真实 IP
real_ip_recursive on;

六、调优后的检查与重载

每次修改配置后,务必执行:

nginx -t   # 测试配置文件语法是否正确
systemctl reload nginx   # 平滑重载,不中断服务

📌 查看云数方舟高性能服务器:
云数方舟官网美国高性能独立服务器香港高性能独立服务器

本文由 云数方舟(YunArk) 原创发布,转载请注明出处。

云数方舟
  • 3216651636
  • support@yunark.cn