debian

Debian Nginx性能调优技巧

小樊
43
2025-08-21 03:05:04
栏目: 智能运维

以下是Debian系统下Nginx的性能调优技巧:

  1. 工作进程优化
    • worker_processes auto;:自动匹配CPU核心数,充分利用多核性能。
    • worker_rlimit_nofile 65535;:提升单个进程可打开文件数上限,需同步修改系统级限制(如/etc/security/limits.conf)。
  2. 连接与事件模型优化
    • events { worker_connections 10240; use epoll; multi_accept on; }
      • worker_connections:单进程最大连接数,根据服务器内存调整(如10240)。
      • epoll:Linux高效事件模型,支持高并发。
      • multi_accept:一次性接受多个连接,减少上下文切换。
  3. 传输效率优化
    • sendfile on; tcp_nopush on; tcp_nodelay on;
      • sendfile:启用零拷贝文件传输,减少CPU消耗。
      • tcp_nopush/tcp_nodelay:优化TCP数据包传输,降低延迟。
    • keepalive_timeout 65; keepalive_requests 100;:长连接复用,减少TCP握手开销。
  4. 缓存优化
    • 静态资源缓存
      • expires 30d; add_header Cache-Control "public";:设置静态文件(图片/CSS/JS)缓存30天。
      • open_file_cache max=10000 inactive=20s;:缓存文件元数据,加速频繁访问的静态资源。
    • 代理缓存
      • proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g;:缓存后端响应,减轻后端负载。
  5. 协议与安全优化
    • 启用HTTP/2:http2;,支持多路复用,提升页面加载速度。
    • 优化SSL/TLS:
      • ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5;:使用强加密套件。
      • ssl_session_cache shared:SSL:10m; ssl_session_tickets on;:启用会话缓存,减少握手开销。
  6. 系统级调优
    • 调整内核参数(需执行sysctl -p):
      • net.core.somaxconn = 65535:增加监听队列长度。
      • net.ipv4.tcp_max_syn_backlog = 65535:提升TCP连接队列容量。
  7. 监控与维护
    • 使用top/htop监控CPU/内存占用,vmstat查看系统负载。
    • 定期分析Nginx日志(access.log/error.log),排查异常。

注意:修改配置后需通过sudo nginx -t测试语法,再sudo systemctl reload nginx重新加载配置。建议根据实际业务场景和硬件环境调整参数,并通过压力测试验证效果。

0
看了该问题的人还看了