Linux backlog调优可从系统参数、应用配置和监控三方面入手,具体如下:
系统参数优化
net.core.somaxconn:设置系统最大并发连接数,建议设为服务器最大QPS的1-1.5倍,默认128较小,可调整为8192或更高。net.ipv4.tcp_max_syn_backlog:控制SYN队列长度,建议与somaxconn保持一致,避免SYN Flood攻击时可启用tcp_syncookies。tcp_tw_reuse/tcp_fin_timeout:启用TIME_WAIT复用并缩短超时时间,减少资源占用。/etc/sysctl.conf,执行sysctl -p使配置永久生效。应用层面优化
listen()函数指定backlog值,需≤系统somaxconn,例如Nginx可通过listen 80 backlog 4096;配置。监控与调优
ss -lnt或netstat -s监控Listen队列使用情况,重点关注ListenOverflows(队列溢出次数)。somaxconn,避免队列积压。注意:参数设置需结合服务器硬件(CPU/内存)和网络环境,避免过度配置导致资源浪费。