Nginx性能优化与监控

一、核心优化方向

  1. worker 进程配置

    • worker_processes auto;:自动匹配 CPU 核心数
    • worker_connections 10240;:单进程最大连接数(需配合系统 ulimit)
    • worker_rlimit_nofile 65535;:提升最大文件句柄数
  2. 事件模型优化

    nginx

    复制代码
    events {
        use epoll;
        multi_accept on;
        accept_mutex off;
    }
  3. TCP / 网络优化

    nginx

    复制代码
    http {
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        keepalive_requests 1000;
    }
  4. 压缩优化

    nginx

    复制代码
    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    gzip_min_length 1k;
  5. 静态资源缓存

    nginx

    复制代码
    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public, max-age=2592000";
    }
  6. 隐藏版本、提升安全

    nginx

    复制代码
    server_tokens off;

二、系统层面优化(配合 Nginx)

  1. 修改 /etc/security/limits.conf

    plaintext

    复制代码
    nginx soft nofile 65535
    nginx hard nofile 65535
  2. 内核参数 /etc/sysctl.conf

    plaintext

    复制代码
    net.core.somaxconn = 65535
    net.core.netdev_max_backlog = 65535
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_fin_timeout = 30

    执行:sysctl -p


三、监控指标与工具

1. 关键监控指标

  • 活跃连接数、等待连接数
  • 请求 QPS、响应时间
  • 状态码:2xx/3xx/4xx/5xx 占比
  • CPU、内存、句柄、磁盘 I/O
  • upstream 后端健康状态

2. 内置状态页

nginx

复制代码
location /nginx_status {
    stub_status;
    allow 127.0.0.1;
    deny all;
}

访问:http://ip/nginx_status

3. 常用监控工具

  • nginx -t:配置语法检查
  • nginx -s reload:平滑重载
  • netstat -anp | grep nginx / ss -s
  • top、htop、iostat、dstat
  • 日志分析:awk、goaccess
  • 接入 Prometheus + Grafana(nginx-vts-exporter)

四、日志与排错

  1. 访问日志:记录请求、状态、耗时、UA、来源
  2. 错误日志:定位 upstream、权限、配置、端口冲突
  3. 常用排查:
    • 502:后端服务挂 / 超时 / 不可达
    • 504:超时
    • 403:权限 / 目录索引 / IP 限制
    • 404:路径 / 路由 / 文件不存在
相关推荐
汪海游龙10 分钟前
流式回复结尾的那一下闪:逐帧定位 Compose 聊天列表的三处布局跳动
android·性能优化·kotlin
hz5678928 分钟前
企业视频会议系统方案:总部与分支机构高效协同如何落地?
运维·服务器·网络·安全·实时音视频·信息与通信
ytadpole36 分钟前
模板下载性能优化记录
后端·性能优化
sun153690275721 小时前
露天矿边坡滑坡怎么预警?QY-19GNSS 自动化地表位移监测系统介绍
运维·安全·自动化
云计算练习生2 小时前
什么是文件权限?Linux 中 rwx 与数字权限的对应关系
linux·运维·服务器·操作系统·文件权限管理
FY@-@2 小时前
VMware ESXi 7.0 实验全记录:嵌套安装 → 网络配置 → 存储 → Windows 10 虚拟机部署
运维·网络·windows·云计算
饿了吃洗衣凝珠2 小时前
red hat day2
linux·运维·服务器
上海云盾-高防顾问2 小时前
边缘验签是什么
运维·服务器·网络
fruge3 小时前
SSH、RDP、VNC不必各开一个客户端:Next Terminal用Web入口统一管理远程资产和会话记录
运维·前端·ssh
中屹指纹浏览器svip3 小时前
什么是设备数字特征追踪?
运维