专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

使用mtr排查服务器网络连通性

问题

这两天ffmpeg推流的同事反应服务器推送视频流到A直播云的直播播放某个时间段经常卡顿

排查

mtr的使用在末尾

1、 同一台服务器将视频流分别推送到B云直播A直播云对比播放流畅度,B直播云播放流畅,判断:问题不在推流服务器
2、 将问题反馈给A直播云,A直播云答复:推送不稳定
3、 排查对比推流服务器A直播云B直播云的网络联通性

  • A直播云 mtr a.ar414.com
    120_1.png
  • B直播云mtr b.ar414.com
    120_2.png

1、 排查结论

  • 推流服务器A直播云的链路异常,链路绕到国外才回国,丢包率与延迟率较高
  • 推流服务器B直播云的链路正常,丢包率与延迟率总体较低

解决

将mtr排查报告反馈至A直播云让其调整路由链路

mtr

网络联通性判断工具,它可以结合 ping nslookup tracert 来判断网络的相关特性,这个命令就是 mtr。mtr 全称 my traceroute,是一个把 ping 和 traceroute 合并到一个程序的网络诊断工具

安装

1、 Linux

  # Ubuntu
  $ apt install mtr
  # CentOS
  $ yum install mtr

1、 Windows 免安装包:github.com/oott123/Win…

使用

根据实际业务进行测试 比如我这边测的是推流则需要指定包大小及tcp协议

$ mtr ar414.com

120_3.png参数说明:

  • Host:链路IP地址
  • Loss:丢包率
  • Snt:已发送数据包数
  • Last:最后一个包的延时
  • Avg:平均延时
  • Best:最低延时
  • Wrst:最差延时
  • StDev:稳定性

命令选项

  • -r
    • 使用-r:默认向目标地址发送10个ICMP包 然后直接打印报告
    • 不使用-r:动态运行不断向目标地址发送ICMP包
  • -s 指定发送每个数据包大小(bytes)
  • -c 指定发送包数量
  • -i 指定发送数据包的间隔(秒)
  • --tcp 指定发送tcp包
  • --udp 指定发送udp包

结果分析

1、 链路分析:

  • 自建机房

1、 一般情况下前几跳都是局域网内路由,如果异常则自行排查或上报机房运维
2、 中间跳数则是中间节点,如果异常则联系运营商
3、 后几跳则是服务提供商,如果异常联系服务提供商

  • 云服务器

1、 前中的链路异常则联系云服务器商,一般提交工单
2、 后几跳异常则联系服务提供商
3、 丢包率

  • 还有很多时候问题是在数据包返回途中发生的,数据包可以成功的到达目的主机,但是返回过程中遇到 “困难” 了。所以,当问题发生后,我们通常需要收集反方向的 MTR 报告 结合正反向MRT排查报告进行判断

1、 网络延迟

  • 因为是不同的位置,延迟通常会随着条数的增加而增加。所以,延迟通常取决于节点之间的物理距离和线路质量。
  • 高延迟并不一定意味着当前路由器有问题。延迟很大的原因也有可能是在返回过程中引发的。从这份报告的截图看不到返回的路径,返回的路径可能是完全不同的线路,所以一般需要进行双向 MTR 测试

文章永久链接:https://tech.souyunku.com/33468

未经允许不得转载:搜云库技术团队 » 使用mtr排查服务器网络连通性

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们