当你的联通直连日本机房出现丢包或高延迟时,最好的办法是先在服务器端完成全面排查并收集证据,然后由运维向联通提交带时间戳的路测和抓包;最佳的长期策略是启用多线BGP或专线冗余并部署监控告警;而最便宜的临时解决方案通常是通过国内/境外代理、CDN或云加速服务做流量旁路,快速降低对用户的影响。本文给出面向服务器的详尽排错流程和可执行命令,便于快速定位并配合联通定位链路故障。
开始排错前请在服务器上准备好以下信息并记录时间戳:服务器公网IP、目标日本机房IP或域名、出现问题的开始时间段、受影响的服务(TCP/UDP/ICMP)、业务影响范围(全体用户/部分用户/端口)。同时准备好可以上传给联通的诊断文件:ping、mtr、traceroute、tcpdump 抓包和系统日志。
先排查本地链路与服务器本身:检查网卡状态(ethtool)、链路速率、双工模式、网线和交换机端口日志。常用命令:ethtool eth0、ip addr show、dmesg | tail。确认没有硬件错误、RX/TX 错包或网卡驱动异常。
使用ping和mtr做端到端检测。建议命令:ping -c 100 <目标IP> 获取平均RTT与丢包率;mtr -r -c 100 <目标IP> 形成报告。判断规则:日本直连普遍RTT应在50–120ms范围,超过200ms或丢包率>1%(持续)需要重点关注;若mtr显示丢包从某跳开始持续增加,说明问题位于该跳或之后的链路。
执行traceroute -n <目标IP> 或 traceroute -T -p <端口> <目标IP>(TCP模式)观察中间跳数与延时突增点。记录各跳的IP与自治系统号(可用whois查AS),用于提交给联通或上游运营商定位故障点。
在服务器侧用tcpdump抓取问题流量:tcpdump -i eth0 host <目标IP> -w /tmp/capture.pcap(或加filter如 port 80)。抓包时注意时间同步(ntp),并记录抓包开始结束时间。抓包可以确认是否存在大量重传、RST、ICMP unreachable或MTU碎片问题。
MTU不匹配常引起零星丢包和长时间延迟,使用ping -M do -s 1472 <目标IP>(逐步减少包体)测试是否存在路径MTU问题。若发现需要降低服务器网卡MTU或调整应用MSS(例如nginx或负载均衡器的proxy protocol配置)。
检查内核网络参数(sysctl -a | grep net.ipv4)。常见优化项:增大tcp_rmem/tcp_wmem、启用tcp_window_scaling、调整tcp_retries2和arp缓存参数。排错时可临时关闭网卡offload(ethtool -K eth0 gro off gso off tso off)以排查网卡卸载引起的异常。
使用iperf3在日本机房对应服务做吞吐测试:iperf3 -c
通过mtr/traceroute和抓包判断:如果路途中在联通出口或ISP网络就出现丢包/延迟激增,通常是联通/上游问题;若问题只在本地机房到本地路由器之间,优先检查本地网络设备与服务器;若只有访问特定日本节点出现问题,可能是对端机房或对端链路问题。
临时方案包括:切换到备用出口(双线或不同运营商)、启用国内/境外代理或云中转实例、使用CDN或云加速服务、调整业务到非高峰时段。最便宜常见做法是用国内云供应商提供的加速/直连服务或租用低成本中转节点。
提交工单时附上:mtr/traceroute全文、ping平均值、tcpdump抓包文件(如pcap)、问题发生时间段与受影响IP。说明业务影响、期望处理时限。若联通要求进一步测试,可按其建议提供针对性抓包或修改路由策略后的再次测试结果。
为避免复发,建议部署端到端监控(持续mtr/ping到日本多个机房点)、建立多线BGP或异地备份链路、使用商业加速或专线服务并签署SLA。对关键服务开启告警与自动切换策略,确保出现问题时能快速触发降级或流量切换。
遇到联通直连日本机房的丢包或高延迟,最有效的流程是:本地服务器与链路全面排查 → 收集并固定证据(mtr、traceroute、tcpdump)→ 与联通协同定位链路故障 → 应用临时旁路与长期多线优化。按照本文排错步骤执行,可快速定位责任方并提出可执行的缓解与优化方案。