HTTP长连接(Keep-Alive)通过复用TCP连接减少频繁握手开销,显著提升Web服务性能。但在Linux环境下,若未合理配置,可能因资源泄漏或参数不当导致性能下降。以下从内核、服务端、客户端三个层面介绍关键调优策略。
一、内核参数优化****
1.
连接复用控制
调整net.ipv4.tcp_keepalive_time(默认7200秒)为更短值(如300秒),使空闲连接更快释放。同时设置net.ipv4.tcp_keepalive_probes(默认9次)和net.ipv4.tcp_keepalive_intvl(默认75秒),控制探测频率,避免无效连接占用资源。
端口与文件描述符限制
提升系统级限制:
bash
| echo "* soft nofile 65536" >> /etc/security/limits.conf | |
|---|---|
| echo "* hard nofile 65536" >> /etc/security/limits.conf | |
| sysctl -w net.ipv4.ip_local_port_range="32768 60999" # 扩大临时端口范围 |
通过内核参数精细化调整、服务端配置优化及实时监控,可显著提升Linux下HTTP长连接的性能与稳定性,尤其在电商、API服务等高并发场景中效果显著。