1. 修改内核参数
    vim /etc/sysctl.conf
    # 最大文件句柄数(每个连接对应一个文件句柄)
    fs.file-max = 1000000
    
    # 网络连接队列大小(避免连接被丢弃)
    net.core.somaxconn = 65535
    
    # TCP 连接最大积压队列(SYN 队列,应对 SYN 洪水攻击)
    net.ipv4.tcp_max_syn_backlog = 65535
    
    # 允许 TIME_WAIT 状态的连接被快速复用(减少连接等待时间)
    net.ipv4.tcp_tw_reuse = 1
    
    # 快速回收 TIME_WAIT 连接(默认 60s,缩短至 30s)
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_fin_timeout = 30
    
    # 最大 TCP 连接数
    net.ipv4.tcp_max_tw_buckets = 5000
    			
    sysctl -p
  2. 修改进程数限制
    /etc/security/limits.conf
    * soft nofile 65535
    * hard nofile 65535
    			
    验证是否生效(需重启)
    ulimit -n
  3. 压测工具-ab
    yum -y install httpd-tools
    参数 含义 示例
    -n 总请求数(需 ≥ 并发数 `-c`) -n 10000(共发送 10000 个请求)
    -c 并发数 -c 1000(1000 个并发请求)
    -t 压测持续时间(秒,与 -n 二选一) -t 60(持续压测 60 秒)
    -s 超时时间(秒,默认 30 秒) -s 10(超过 10 秒未响应视为失败)
    -H 添加请求头(如模拟浏览器缓存、Gzip) -H "Accept-Encoding: gzip"(启用 Gzip)
    -v 2 输出响应头(用于查看 `X-Cache` 等信息) -v 2
    实例:
    指标名称 含义 优化目标
    Requests per second QPS(每秒处理请求数) 优化后 > 优化前
    Time per request 平均响应时间(ms,所有并发请求的平均值) 优化后 < 优化前
    Failed requests 失败请求数(含连接超时、5xx 错误等) 优化后 = 0(或显著降低)
    Content-Length 响应体大小(字节,验证 Gzip 压缩效果) 优化后 < 优化前
    X-Cache 响应头,缓存状态(HIT/MISS,验证缓存效果) 优化后 HIT 占比 > 90%