温馨提示×

怎样优化centos lnmp的网络设置

小樊
36
2025-12-29 11:12:36
栏目: 智能运维

CentOS LNMP 网络设置优化清单

一 基础网络与系统调优

  • 静态 IP 与 DNS:编辑网卡配置(如 /etc/sysconfig/network-scripts/ifcfg-ens33),设置 BOOTPROTO=static、IPADDR、PREFIX、GATEWAY、DNS1/2;或使用 NetworkManager/nmcli 统一管理网络。
  • 文件描述符限制:在 /etc/security/limits.conf 提升软硬限制(如 nofile 65535),并确认服务进程(Nginx、PHP-FPM)继承该限制。
  • 内核网络参数:在 /etc/sysctl.conf 调整 somaxconn、netdev_max_backlog、tcp_max_syn_backlog、rmem/wmem 默认与最大、tcp_tw_reuse、tcp_fin_timeout、tcp_keepalive_time、ip_local_port_range、tcp_syncookies 等,执行 sysctl -p 生效。
  • 传输与拥塞:可按需设置 tcp_rmem/tcp_wmem、tcp_mtu_probing=1,并启用 HTTP/2HTTP/3(QUIC) 以提升并发与首包体验。
  • 监控与排障:使用 nload、iftop、nethogs、bmon 观察带宽、连接与进程流量分布,配合日志定位瓶颈。

二 Nginx 网络层优化

  • 进程与连接:设置 worker_processes auto(或等同 CPU 核心数),worker_connections 结合内存与并发目标调整;使用 epoll 事件模型。
  • 传输压缩与复用:启用 gzip 压缩常见文本资源;启用 HTTP/2(或 HTTP/3/QUIC)以获得多路复用与头部压缩。
  • 静态资源与长连接:为 图片/CSS/JS 配置强缓存(如 Cache-Control/Expires),开启 keepalive_timeoutkeepalive_requests 复用连接。
  • 连接与缓冲:合理设置 listen backlogproxy_ 缓冲*(如 proxy_buffering on; proxy_buffer_size 4k; proxy_buffers 8 16k;),减少小包往返与队头阻塞。

三 内核网络参数示例与生效方式

  • 建议基线(按服务器内存与并发目标微调):
    • 连接与队列:
      • net.core.somaxconn = 32768
      • net.core.netdev_max_backlog = 32768
      • net.ipv4.tcp_max_syn_backlog = 65536
    • 窗口与缓冲:
      • net.core.rmem_default = 8388608;net.core.wmem_default = 8388608
      • net.core.rmem_max = 16777216;net.core.wmem_max = 16777216
      • net.ipv4.tcp_rmem = 4096 87380 6291456
      • net.ipv4.tcp_wmem = 4096 65536 6291456
    • 端口与回收:
      • net.ipv4.ip_local_port_range = 1024 65535
      • net.ipv4.tcp_tw_reuse = 1
      • net.ipv4.tcp_fin_timeout = 30
      • net.ipv4.tcp_keepalive_time = 1200
    • 安全与握手:
      • net.ipv4.tcp_syncookies = 1
      • net.ipv4.tcp_synack_retries = 2;net.ipv4.tcp_syn_retries = 2
  • 生效与回滚:将参数写入 /etc/sysctl.conf 后执行 sysctl -p;变更前备份,变更后逐步观察 ss -s、netstat -s、dmesg 与业务指标。

四 传输层与应用层协同优化

  • 前端与传输:启用 Gzip、强缓存与 CDN 分发静态资源,降低源站带宽与时延。
  • 数据库与缓存:优化 SQL 与索引、开启 慢查询日志,结合 Redis/Memcached 减少直连数据库次数,缩短请求链路。
  • PHP 运行时:启用 OPcache,合理设置 pm.max_children/start_serversPHP-FPM 参数,避免排队与频繁创建进程。
  • 扩展与架构:在更高并发下引入 负载均衡(Nginx/HAProxy) 与多实例横向扩展,提升整体吞吐与可用性。

五 验证与回滚建议

  • 基线测试:优化前后使用 ab/wrk/siege 或真实流量回放,记录 P95/P99 延迟、RPS、带宽、错误率、连接数
  • 运行时观测:持续查看 nload/iftop/nethogs/bmonNginx access/error 日志,关注 TIME_WAIT、SYN 重传、连接超时
  • 渐进式调整:一次只变更少量参数,观察至少 1–2 个业务高峰周期;保留可回滚的 配置备份与变更记录,异常立即恢复。

0