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
  • tophtopiostatdstat
  • 日志分析:awkgoaccess
  • 接入 Prometheus + Grafana(nginx-vts-exporter)

四、日志与排错

  1. 访问日志:记录请求、状态、耗时、UA、来源
  2. 错误日志:定位 upstream、权限、配置、端口冲突
  3. 常用排查:
    • 502:后端服务挂 / 超时 / 不可达
    • 504:超时
    • 403:权限 / 目录索引 / IP 限制
    • 404:路径 / 路由 / 文件不存在
相关推荐
游戏开发爱好者82 小时前
如何使用Instruments和Keymob进行Swift应用性能优化分析
开发语言·ios·性能优化·小程序·uni-app·iphone·swift
奔跑吧邓邓子2 小时前
Hash算法性能优化:从理论到实战的飞跃
算法·性能优化·哈希算法·hash·理论到实战
成都极云科技2 小时前
2026年服务器托管收费标准解析 性价比对比及边缘节点选型全指南
运维·服务器·github
高梦轩2 小时前
Nginx性能优化与监控
运维·nginx·性能优化
与遨游于天地2 小时前
从 BPF 到 eBPF:一场 Linux 内核的“可编程”革命
linux·运维·arm开发
ShineWinsu2 小时前
对于Linux:基础指令的介绍—中
linux·运维·服务器·c++·面试·笔试·系统
maqiang_7202 小时前
为什么centos+vmware虚机 用NAT 模式总连不上外网
linux·运维·centos
Z...........2 小时前
进 程
linux·运维·服务器
岁岁种桃花儿2 小时前
kubenetes从入门到上天系列第二十篇:Kubernetes安装Nginx ingress controller
nginx·容器·kubernetes