温馨提示×

Debian LAMP怎么优化网络

小樊
36
2025-12-30 11:37:06
栏目: 智能运维

Debian LAMP网络优化实操指南

一 系统层网络与内核优化

  • 保持系统与内核为最新稳定版,及时获取网络栈修复与性能改进:执行 sudo apt update && sudo apt upgrade。
  • 调整内核网络参数以适配高并发与长连接场景(写入 /etc/sysctl.conf 后执行 sudo sysctl -p 生效):
    • 开启 TCP 时间戳TW 重用:net.ipv4.tcp_timestamps=1、net.ipv4.tcp_tw_reuse=1
    • 增大 全连接队列:net.core.somaxconn=4096
    • 启用 TCP 快速打开(如内核支持):net.ipv4.tcp_fastopen=3
    • 增大 发送/接收缓冲区:net.core.rmem_max、net.core.wmem_max=16777216;net.ipv4.tcp_rmem、net.ipv4.tcp_wmem=4096 87380 16777216
    • 可选:缩短 FIN_WAIT_2 超时:net.ipv4.tcp_fin_timeout=15
  • 提升文件描述符上限(/etc/security/limits.conf):* soft nofile 65536;* hard nofile 65536,并确认服务会话继承该限制。
  • 如业务不使用 IPv6,可在 /etc/modprobe.d/disable-ipv6.conf 中加入 options ipv6 disable_ipv6=1 后执行 sudo update-initramfs -u && sudo reboot;否则不建议盲目禁用。
  • 选用更快的 DNS(/etc/resolv.conf 或 systemd-resolved 配置):nameserver 1.1.1.1、nameserver 8.8.8.8

二 Apache与网络传输层优化

  • 启用并合理配置 KeepAlive:KeepAlive On;KeepAliveTimeout 5–15 秒;MaxKeepAliveRequests 100–1000,在并发与连接开销间取平衡。
  • 开启压缩以减小传输体积:启用 mod_deflate,对 text/html、text/css、text/javascript、application/javascript、application/json 等类型压缩。
  • 启用缓存加速:启用 mod_cache/mod_cache_disk,设置 CacheRoot 与 CacheEnable disk /,对静态资源进行磁盘缓存。
  • 并发与 MPM 调优:根据内存与业务模型选择并调整 MPM(如 worker/event),并合理设置 MaxRequestWorkers/MaxConnectionsPerChild,避免内存耗尽与连接风暴。
  • 静态资源交由 Nginx/CDN 承载,动态请求反向代理到 Apache,显著降低 Apache 并发与带宽压力。

三 MariaDB/MySQL与PHP层优化

  • 数据库缓冲与连接:将 innodb_buffer_pool_size 设为物理内存的约 50%–70%(专用数据库可更高);适度提高 innodb_log_file_size(如 256M–1G);合理设置 max_connections 与 thread_cache_size,避免频繁建连与销毁。
  • 查询与索引:为高频查询建立合适索引,使用 EXPLAIN 分析执行计划;按需执行 OPTIMIZE TABLE;避免 SELECT * 与 N+1 查询。
  • PHP 执行效率:启用 OPcache(opcache.enable=1,合理设置 opcache.memory_consumption、opcache.interned_strings_buffer、opcache.max_accelerated_files);根据应用适当提升 memory_limit 与 max_execution_time;开启输出缓冲 output_buffering=On。

四 传输与架构层优化

  • 启用 HTTP/2(或 HTTP/3/QUIC):在 Apache 启用 mod_http2,多路复用可显著降低并发连接开销;配合 TLS 1.2/1.3 使用更佳。
  • 启用 Brotli 压缩(若模块可用)或在 mod_deflate 基础上叠加 Brotli,进一步减小文本类资源体积。
  • 使用 CDN 分发静态资源(图片、CSS、JS、视频分片),缩短首包与整体下载时间,并降低源站带宽与并发。
  • 部署 反向代理/负载均衡(如 Nginx/HAProxy)与多实例,横向扩展吞吐与可用性。
  • 连接与安全:对外仅开放 80/443,数据库端口仅内网可达;使用 UFW 或 nftables 做最小化放行;对敏感接口启用鉴权与速率限制。

五 验证与持续监控

  • 基线测试:使用 ab/wrk/siege 对关键页面做基线压测(含并发数、RPS、P95/P99 延迟、错误率),每次调参后复测对比。
  • 实时观测:iftop/nload 观察带宽与连接分布;nethogs 定位进程级流量;ss -s/ netstat -s 查看 TCP 重传、超时与队列;结合应用与数据库日志定位瓶颈。
  • 容量与告警:建立 CPU、内存、连接数、慢查询、磁盘 IO 的阈值告警;定期审计与滚动升级内核/组件,保持性能与安全。

0