CN2线路服务器丢包率高排查方向在哪里
CN2线路服务器丢包率高,排查方向在哪里
CN2线路丢包,不能只盯着“服务器是不是坏了”。实际使用中发现,很多丢包看起来发生在服务器侧,真正的问题可能在本地运营商、跨境出口、CN2骨干节点、机房入口、服务器网卡队列、业务自身并发,甚至是测试方法不对。
尤其是香港CN2、CN2 GIA这类回国优化线路,用户通常对延迟和稳定性预期比较高。平时广东、上海、江苏访问香港CN2,延迟大概在20ms到50ms之间;北方运营商一般在40ms到80ms之间。如果突然出现10%以上丢包,或者延迟从40ms抖到200ms以上,就需要按链路分段排。
先确认丢包是真的,还是测试工具显示出来的假象
这里补充一点,很多人看到MTR中间某一跳丢包30%、50%,马上判断线路炸了,这个判断很容易误伤。骨干路由器对ICMP回包限速很常见,它可能不愿意回应你的探测包,但正常转发业务流量。
判断标准看两处:一是最终目标IP是否丢包,二是从某一跳开始后面所有节点是否持续丢包。如果只有中间某个节点显示丢包,后面节点正常,通常不是业务丢包。
比如MTR结果里第6跳显示Loss 40%,第7跳、第8跳、目标IP都是0%,这种大概率是第6跳ICMP限速,不要按故障处理。反过来,如果第8跳开始Loss 15%,后面所有节点到目标IP都在15%左右,那才说明丢包从第8跳附近开始产生。
测试建议用三类结果一起看:ping看基础丢包,MTR看路径变化,业务端看TCP重传。Linux上可以用ss -s、netstat -s观察retransmits,业务是HTTP/HTTPS的,也可以从Nginx日志里的upstream_response_time、request_time波动判断。
分清楚是上行丢包、下行丢包,还是双向都有问题
CN2线路排查时,单方向测试经常不够。用户从国内ping香港服务器丢包,不代表香港服务器回国内也同样丢包。跨境链路有去程、回程,BGP策略不一样,拥塞位置也可能完全不同。
常见场景可以这样拆:
场景A:国内用户ping服务器丢包,但服务器ping国内用户正常。这个更像国内到香港的去程问题,可能是本地运营商出口、国内省网、或者去程没有走到预期CN2。
场景B:服务器ping国内用户丢包,但国内ping服务器正常。这个更像回程问题,尤其要看香港服务器回国内是否走CN2、CN2 GIA,还是绕到了普通163、NTT、PCCW等线路。
场景C:两边互ping都丢,业务也卡,MTR目标IP也丢。这时再看是不是机房入口拥塞、服务器带宽打满、DDoS清洗影响、或者宿主机网络异常。
去程路由要看运营商,不要只看一个城市
CN2线路的体验差异,经常和访问用户所在运营商有关。电信用户访问CN2通常最稳定,联通和移动要看具体线路优化,部分机房会做三网CN2或BGP优化,也有的只是电信CN2回国。
排查时至少要从电信、联通、移动各找一个节点测。只拿自己办公室宽带测,很容易把本地网络问题误判成服务器问题。
参考判断可以按这个节奏看:
电信访问香港CN2:正常延迟常见20ms到60ms,晚高峰轻微抖动可以接受;如果电信大面积10%以上丢包,要重点看CN2骨干或机房入口。
联通访问香港CN2:正常可能在40ms到90ms,部分地区绕路会到100ms以上;如果只有联通丢包,电信正常,多半不是服务器硬件问题。
移动访问香港CN2:移动跨境路由波动更常见,晚高峰绕日本、新加坡、美国都遇到过;如果移动高丢包但电信稳定,需要确认服务面向用户是否以移动为主。
MTR重点看“丢包从哪里开始连续出现”
MTR不要只截图前几跳,要跑足够时间。实际排查建议至少跑100到300个包,短时间10个包没有参考意义。命令可以这样用:
mtr -rwzc 200 目标IP
如果是TCP业务,比如网站443端口,可以用TCP MTR或tcptraceroute,避免ICMP被限速干扰:
mtr -T -P 443 -rwzc 200 目标IP
看结果时不要纠结每一跳的名称,重点看连续性。比如:
第1到第4跳是本地网络,第5到第7跳是省网或运营商出口,第8到第10跳进入CN2骨干,第11跳以后到香港机房。如果第5跳开始丢,后面都丢,可能是国内运营商侧;如果第9跳开始丢,后面都丢,可能是CN2骨干拥塞;如果前面都正常,只在最后一跳丢,才更接近服务器或机房入口问题。
多说一句,MTR里看到路由名字带59.43,通常是CN2网络特征之一。电信CN2常见59.43.x.x节点。如果号称CN2线路,但回程完全看不到59.43,或者大面积走202.97普通163骨干,就要问清楚是去程CN2、回程CN2,还是仅部分方向优化。
晚高峰丢包,要重点怀疑跨境拥塞和带宽超卖
CN2线路贵,贵在跨境资源和回国质量。丢包如果集中在每天20:00到23:30,白天基本正常,这种很像晚高峰拥塞。尤其是视频、游戏、跨境办公、API回源同时上量时,线路质量会被放大检验。
可以按时间记录一组数据,比如:
10:00:平均延迟35ms,丢包0%,TCP重传低。
16:00:平均延迟42ms,丢包1%以内,业务无明显感知。
21:30:平均延迟110ms,丢包8%到15%,网页打开慢,SSH输入卡顿。
这种变化不像服务器CPU问题。CPU问题通常会体现在load、iowait、业务进程响应上;线路拥塞则是延迟抖动、丢包、TCP重传一起出现,服务器资源看起来反而很空。
购买香港CN2服务器时,别只看“CN2”两个字,还要看带宽大小、是否独享、是否CN2 GIA、是否三网优化、是否有防御、是否允许跑满。比如业务主要面向国内电信用户,香港CN2直连会比普通国际BGP稳很多;如果还要兼顾移动和联通,就要看三网回程质量。实际选型时可以看看129云的香港CN2活动机型,像8C 8G、80G SSD、20Mbps峰值带宽这种配置,更适合有一定访问量的站点、接口服务和轻量游戏业务。
带宽打满会表现成丢包,不要只看CPU和内存
很多服务器丢包最后查出来不是线路坏,而是带宽跑满。20Mbps、50Mbps、100Mbps的机器,只要出方向持续打满,TCP排队和丢包马上出现。用户看到的是访问慢、ping丢包、SSH卡,服务端看CPU可能只有20%。
Linux上可以用这些方式看:
sar -n DEV 1 10,观察网卡rxkB/s、txkB/s。
iftop -i eth0,看哪些IP或连接占用带宽。
nload或vnstat,看实时流量和历史流量。
ss -ant,看连接数量和状态,尤其是大量ESTAB、SYN-RECV、TIME-WAIT。
如果20Mbps带宽机器,tx方向长期在2.3MB/s到2.5MB/s附近浮动,基本就是出口顶满了。这里的2.5MB/s大概就是20Mbps理论值,考虑协议开销后实际可用更低。带宽顶满时,ping包也会排队,表现出来就是延迟飙升和间歇性丢包。
小带宽服务器更容易被“正常业务”打出丢包
香港CN2线路常见小带宽套餐,比如1Mbps、5Mbps、20Mbps。1Mbps适合管理面板、轻量测试、小型展示页;5Mbps适合低并发站点或企业工具;20Mbps才能比较从容地承载图片较多的网站、接口服务、轻量应用分发。
举个实际场景,一个企业官网首页2MB,5个用户同时打开,短时间就可能冲到10MB以上传输需求。如果服务器只有1Mbps,理论下载速度约125KB/s,还没算丢包重传和TLS开销,用户体感肯定慢。这个时候ping丢包不一定是CN2质量差,而是出口队列已经排满。
如果只是做轻量业务测试,可以选香港1C 1G、15GB SSD、1Mbps、CN2直连这种低配;如果是正式站点,至少看4C 4G、50GB SSD、5Mbps这种规格;访问量再高一些,20Mbps峰值带宽的香港CN2会更稳。需要确认线路和配置时,可以直接看129云的香港CN2、香港优化线路产品,客服热线400-9177118也可以问清楚回程、带宽和适用场景。
服务器本机网络栈也会制造丢包
线路没问题,本机也可能丢。特别是高并发连接、UDP业务、游戏服、代理网关、日志上报服务,网卡队列、conntrack、文件句柄、内核缓冲区都可能成为瓶颈。
可以重点看这些指标:
ifconfig或ip -s link里是否有RX dropped、TX dropped、errors增长。
dmesg里是否有网卡reset、driver timeout、skb相关报错。
cat /proc/net/netstat里TcpExt的TCPLostRetransmit、TCPTimeouts是否增长明显。
nf_conntrack_count是否接近nf_conntrack_max。如果conntrack满了,新连接会异常,业务看起来像网络丢包。
ulimit -n太低也会导致连接建立失败。Web服务高并发下,Nginx worker_connections、系统文件句柄、somaxconn、tcp_max_syn_backlog都要一起看。
这里不要只跑ping。ping正常不代表业务正常,ICMP流量很轻,真正的业务可能是大量短连接、TLS握手、数据库连接、WebSocket长连接,压力模型完全不同。
UDP业务要单独测,ping不代表UDP质量
游戏、语音、直播推流、实时同步很多走UDP。UDP没有TCP那种重传机制,轻微丢包就会直接体现在卡顿、瞬移、声音断续。CN2线路对UDP一般也能跑,但排查方法不能只用HTTP测速。
可以用iperf3做UDP测试:
服务端:iperf3 -s
客户端:iperf3 -c 服务器IP -u -b 10M -t 60
如果10Mbps UDP测试丢包0.1%以内,通常比较健康;1%到3%对实时业务已经明显;超过5%基本会有强烈感知。但测试带宽不要超过服务器购买带宽,比如5Mbps机器拿10Mbps压测,测出来丢包没有意义。
DDoS或异常流量会让CN2看起来像线路故障
无防御CN2机器遇到DDoS,表现可能是突然高丢包、SSH断、业务端口不可达。小流量攻击不一定把机房打黑洞,但足够把服务器带宽、conntrack、业务进程拖死。
排查时看三个地方:
流量图是否突然尖峰,比如平时1Mbps,突然冲到20Mbps、100Mbps。
连接状态是否异常,比如大量SYN-RECV、大量来自随机IP的UDP包。
机房是否触发清洗、限速、黑洞。部分线路在攻击下会临时切清洗路径,延迟和丢包都会变化。
如果业务本身容易被打,比如游戏、棋牌、API网关、登录服务,不建议只买无防御CN2。可以把业务入口放到高防服务器,源站放CN2,或者直接选择高防线路。CN2负责低延迟,高防负责抗攻击,两者混在一台低防机器上,出问题时很难兼顾。
回程路由不对,国内访问会明显不稳
香港服务器访问国内,回程很关键。很多用户买服务器时只测国内到服务器的去程,没测服务器回国内。实际业务里,服务器响应数据要回到用户侧,回程绕路就会影响打开速度。
在服务器上可以traceroute国内电信、联通、移动DNS或测试IP,比如电信常用114.114.114.114不一定代表电信骨干,最好用各地Looking Glass或探针节点。看回程是否经过59.43,是否绕日本、新加坡、美国,是否进入普通国际线路。
一个常见误区是“ping延迟还行,所以线路没问题”。有些路由虽然ping 70ms,但晚高峰抖动很大;有些路由平时80ms,胜在稳定不丢。对网站和API来说,稳定性往往比单次最低延迟更重要。
本地网络问题不要漏掉,尤其是公司出口和家宽Wi-Fi
排查CN2丢包时,经常有人只在自己电脑上测。实际用下来,公司网络、家用路由器、Wi-Fi干扰、运营商光猫都会制造丢包。
简单判断方法是同时测三个目标:服务器IP、国内公共DNS、同机房另一个IP。如果三个都丢,优先查本地网络。如果只有这台服务器丢,再往服务器和线路方向走。
还可以让不同地区的人同时测。比如广州电信正常,上海电信丢包,杭州联通正常,北京移动丢包,这种结果能快速缩小范围。只要样本足够分散,就不会被单点网络带偏。
业务侧日志能帮忙判断是不是“网络丢包”
技术排查不要只看网络命令,业务日志更直接。Nginx里如果大量499,可能是客户端等待太久主动断开;大量502、504则可能是后端响应慢或连接失败。应用日志里如果数据库超时、Redis超时、第三方接口超时,也会被用户描述成“网络丢包”。
如果ping目标IP丢包0%,MTR末跳0%,但业务请求大量超时,要看应用链路。比如PHP-FPM进程满、Java线程池满、数据库慢查询、磁盘iowait高,都会表现成页面打不开。用户不会区分线路慢和应用慢,排查时要分开。
抓包能确认包到底有没有回来
问题复杂时,tcpdump很有用。比如客户端说访问443端口超时,可以在服务器上抓包:
tcpdump -i eth0 host 客户端IP and port 443 -nn
如果服务器能看到客户端SYN进来,也回了SYN-ACK,但客户端没收到,问题更像回程或中间链路。如果服务器根本看不到SYN,问题在去程、机房入口ACL、防火墙、或者客户端侧。如果三次握手正常,后面TLS或HTTP卡住,就继续看应用层和带宽。
抓包比猜测靠谱,尤其是跨境链路。很多“丢包”其实是某一方向返回包不稳定,只有双端抓包才能说清楚。
联系服务商时,带上有效信息,处理速度会快很多
报障不要只说“服务器丢包严重”。服务商需要定位是哪段链路,最好直接提供测试时间、源IP、目标IP、MTR结果、业务端口、丢包比例、是否晚高峰复现。
有效描述可以这样写:2026-xx-xx 21:10到21:40,上海电信访问香港服务器x.x.x.x,TCP 443业务超时明显,mtr -T -P 443显示从59.43.x.x后一跳开始连续丢包12%到18%,服务器带宽tx峰值未超过8Mbps,CPU 20%,无攻击流量。这样的信息比一句“CN2不稳定”好处理得多。
如果已经确认是带宽不够,就不要继续按故障催。升级带宽、换更高规格CN2、拆分静态资源、加CDN、调整业务架构才是方向。如果确认是线路拥塞,就让服务商查上游、切路由、迁移节点或更换线路套餐。
香港CN2选型时要把业务类型说清楚
不同业务对丢包容忍度不一样。企业官网丢包1%可能只是慢一点;游戏UDP丢包1%就可能被玩家骂;跨境办公SSH、RDP对抖动也很敏感;下载站更关注带宽是否跑得满。
轻量展示站、测试环境,可以用香港1C 1G、1Mbps CN2直连规格。企业站、接口服务,建议从4C 4G、5Mbps起步。访问量稳定、图片资源多、国内用户多,8C 8G、20Mbps峰值的香港CN2更合适。需要网络稳定、精品线路、回国优化的场景,可以优先看129云香港CN2活动服务器;如果业务有攻击风险,再单独评估高防服务器或高防入口。
排查顺序可以这样走
从用户侧多地ping和MTR开始,确认是不是末跳真实丢包。然后分运营商看电信、联通、移动表现,判断是单运营商问题还是全网问题。接着看去程和回程,确认是否走CN2、是否绕路。再看服务器带宽、网卡丢包、连接数、conntrack、业务日志。遇到UDP业务,用iperf3按购买带宽范围测试。疑似方向性丢包时,用tcpdump确认SYN、SYN-ACK和业务数据是否正常往返。
如果所有监控都显示服务器资源正常,带宽没满,末跳连续丢包只在晚高峰出现,并且多地电信都复现,就把MTR和时间段交给服务商查CN2上游。如果只有某个城市、某个运营商丢,重点放在本地运营商和跨网路由上。如果只有业务慢、网络探测不丢,继续查应用、数据库、磁盘和进程队列。