net.ipv4.tcp_tw_reuse(TIME_WAIT连接复用)未开启、net.core.rmem(接收缓冲区大小)、net.core.wmem(发送缓冲区大小)等参数设置过小,会影响网络缓冲区容量,导致数据包无法及时处理,增加延迟并引发丢包。net.ipv4.ip_conntrack_max(连接跟踪表最大值)设置过小,当并发连接数超过阈值时,系统会丢弃新连接的数据包,导致丢包和延迟。DROP会直接丢弃匹配的数据包(如未开放的端口);SELinux的强制访问控制(MAC)可能限制网络服务的权限,导致数据包无法正常传输,增加延迟或引发丢包。常用工具包括tcpdump(命令行,轻量高效)和Wireshark(图形化,功能强大)。安装命令:sudo yum install -y tcpdump wireshark。配置时需指定捕获接口(如eth0)和过滤条件(如port 80捕获HTTP流量、icmp捕获ping流量),以减少不必要的数据量。
tcpdump -i eth0 -w delay.pcap将流量保存到文件,再用Wireshark打开。通过“Statistics > Conversations”查看会话统计信息,或“Statistics > IO Graphs”查看流量趋势,识别延迟较高的时间段或会话。tcp.analysis.retransmission(TCP重传)、tcp.analysis.duplicate_ack(重复ACK)等过滤器查找网络问题。若存在大量重传,说明网络不稳定或丢包;若延迟较高但无重传,可能是网络拥塞或路由问题。tcpdump -i eth0 'icmp[icmptype] = icmp-echo or icmp[icmptype] = icmp-echoreply'捕获ping流量,观察是否有Request timed out(请求超时)。或使用tcpdump -i eth0 -nn 'tcp[tcpflags] & (tcp-syn|tcp-ack) != 0'捕获SYN/ACK包,分析连接建立情况。netstat -s查看网络层统计信息(如packet receive errors接收错误包数、packet send errors发送错误包数),或ethtool -S eth0查看网卡统计信息(如rx_drop接收丢包数、tx_drop发送丢包数),定位丢包发生的层级(如网卡、内核、网络层)。ethtool -G eth0 rx 4096 tx 4096设置);更换高质量网络线缆(如Cat6a),确保网络设备(交换机、路由器)正常运行。/etc/sysctl.conf,增加缓冲区大小(net.core.rmem_max=16777216、net.core.wmem_max=16777216)、开启TIME_WAIT复用(net.ipv4.tcp_tw_reuse=1)、增大连接跟踪表大小(net.ipv4.ip_conntrack_max=655360),然后执行sysctl -p生效。irqbalance服务或手动设置/proc/irq/<IRQ号>/smp_affinity),提高系统处理能力。ip addr查看);修正DNS配置(如/etc/resolv.conf中添加可靠的DNS服务器,如8.8.8.8);优化路由表(使用ip route查看),删除无效路由。firewall-cmd --add-port=80/tcp --permanent),避免误拦截;临时关闭SELinux(setenforce 0)测试是否为SELinux导致的问题,若问题消失,需修改SELinux策略(如setsebool -P httpd_can_network_connect 1)。