
首先通过基本诊断确认范围:从不同公网节点(本地、云上其他机房、第三方检测点)对目标IP做 ping、traceroute 或 MTR。如果多个源点均出现高延迟或丢包,倾向于为网络链路或运营商问题;如果仅部分来源慢,可能是本地网络或中间链路问题;若网络延迟正常但应用响应慢,则可能为服务器资源(CPU、内存、磁盘、进程)或应用层问题。结合服务器端监控(top、iostat、netstat)与应用日志进行交叉验证。
1) 在服务器上查看资源:top、free、iostat、ss/netstat;2) 测试本地到目标端口的连通性:tcping 或 curl;3) 多点比对:使用云测、第三方监测或自建探针。若怀疑网络拥塞,则进入抓包阶段。
常用抓包工具包括 tcpdump、Wireshark、tshark。在腾讯云香港服务器上推荐先用 tcpdump 做样本抓取:例如抓取端口 80/443 的包并限制大小与数量以节省空间:
tcpdump -i eth0 -s 0 -w /tmp/capture.pcap port 443 and host 1.2.3.4 -c 10000
将 pcap 下载到本地用 Wireshark 打开或使用 tshark/wireshark 的 IO 图与 TCP 流分析功能。抓包时注意业务高峰与低峰分别抓取,记录抓包时间与对应服务器监控点。
抓包尽量包含三次握手与 TLS 握手阶段;若是 HTTPS,关注握手耗时而非明文内容;对大流量服务器可做采样或 tcpdump 过滤特定客户端 IP、端口或仅抓 SYN/FIN/RST 包。
打开 pcap 后优先检查:RTT(往返时间)、重传(Retransmission)、零窗口(ZeroWindow)、重复ACK、RST、TLS 握手时间和 SNI/ALPN 信息。Wireshark 的 "Statistics → Conversations"、"TCP Stream Graphs → Time-Sequence (tcptrace)"、"Expert Information" 都能快速定位异常。
1) 连续重传/重复ACK:表明链路丢包或接收端丢弃;2) RTT 突增:可能是链路拥塞或 ISP 路由问题;3) TLS 握手耗时长:可能是证书验证、OCSP 或 TLS 协商被中间设备影响;4) 大量 RST:代表会话被中断或防火墙/中间设备重置。
可用 tcptrace、ss 或 iperf 进行带宽与延迟验证;用 tshark 批量统计重传/延迟指标,导出为 CSV 便于趋势分析。
使用多点发起 traceroute/MTR(本地、其他机房、云上不同可用区)比对路由路径和每跳延迟。如在进入腾讯云香港机房前某一跳延迟或丢包显著上升,问题多为公网/ISP;若在内网跳(如腾讯云骨干)出现异常,应收集时间段、实例 ID、弹性公网 IP 信息并上报腾讯云网络支持。
1) 抓包文件(pcap);2) traceroute/MTR 输出;3) 受影响实例的实例ID、弹性公网IP、发生时间窗口;4) 业务影响描述。若发现 BGP 路由异常,可同时检查 BGP 路由公告历史。
针对不同原因采取不同措施:若为 ISP 链路问题,协调 ISP 或使用备用链路;若为丢包/MTU 问题,可调整 MTU 或 TCP MSS;若为服务器端网络栈瓶颈,可优化内核参数(如 tcp_window_scaling、tcp_rmem/tcp_wmem、net.core.somaxconn)、关闭不必要的 offload 或调整队列;若为TLS握手慢,可启用 session resumption、OCSP stapling 或优化证书链;若为地理延迟,考虑使用 CDN、GSLB 或将部分服务迁移到香港附近节点。
echo 262144 524288 1048576 > /proc/sys/net/ipv4/tcp_rmem
echo 262144 524288 1048576 > /proc/sys/net/ipv4/tcp_wmem