云服务器网络延迟与丢包问题定位(mtr工具)
时间:2022-07-22
本文章向大家介绍云服务器网络延迟与丢包问题定位(mtr工具),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文提供视频讲解,详细见地址:https://www.bilibili.com/video/BV1ya4y1J77C
问题
最近一个网友反馈在腾讯云服务器ping远程服务器出现丢包的情况,这里需要如何排查?修改哪些配置?
排查思路
首先来看一下整个访问的流程都会经过哪些环节。
先排除是本地网络的问题导致,80%的用户可能是以下原因导致,笔者按从高到低排序整理:
本地网络问题
本地网络问题(源)。工具地址(http://port.ping.pe/)以下效果截图,他是通过世界各地的服务器来主动探测目标服务器的连通性,如果都连接成功(如以下截图)这基本排除了是目标服务器的问题。如果是源(腾讯云)连接服务器很有可能是源服务器或互联网链路的问题。
服务器问题排查(源)
本地防火墙问题 & 服务器高负载 & 可能被封等 。工具地址(https://console.cloud.tencent.com/workorder/tools )
互联网问题
可以通过mtr工具来测试一下网络链路中的质量。这里建议双向确认,即源访问目标和目标访问源的双向确认。
工具安装
yum install mtr
工具使用
使用方法mtr + IP的方式。
mtr 101.200.141.210 --report
Start: Wed Aug 5 18:08:33 2020
HOST: VM_16_2_centos Loss% Snt Last Avg Best Wrst StDev
1.|-- 10.148.205.130 10.0% 10 1.6 1.6 1.4 1.8 0.0
2.|-- 10.148.237.232 0.0% 10 0.8 1.1 0.8 2.3 0.3
3.|-- 10.196.17.45 0.0% 10 1.0 0.7 0.6 1.0 0.0
4.|-- 10.162.32.253 50.0% 10 38.6 38.6 38.6 38.6 0.0
5.|-- 10.200.34.6 0.0% 10 35.8 35.8 35.7 36.4 0.0
6.|-- 10.200.46.130 0.0% 10 38.8 38.7 38.7 38.8 0.0
7.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
8.|-- 116.251.94.22 0.0% 10 40.5 40.6 40.3 41.0 0.0
9.|-- 45.112.221.81 0.0% 10 68.6 50.5 41.3 73.4 13.9
10.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
11.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
12.|-- 101.200.141.210 0.0% 10 40.2 40.2 40.1 40.3 0.0
工具参数
- -h/--help:显示帮助菜单
- -v/--version:显示 MTR 版本信息
- -r/--report:结果以报告形式输出
- -p/--split:与 --report 相对,分别列出每次追踪的结果
- -c/--report-cycles:设置每秒发送的数据包数量,默认是10
- -s/--psize:设置数据包的大小
- -n/--no-dns:不对 IP 地址做域名解析
- -a/--address:用户设置发送数据包的 IP 地址,主要用户单一主机多个 IP 地址的场景
- -4:IPv4
- -6:IPv6
排查结论
1.根据报告结果,查看目的服务器 IP 是否丢包。
- 如果目的地没有丢包,则表示网络正常。
- 如果目的地发生丢包,则执行 步骤2。
2. 往上查看报告结果,定位第一次丢包的节点。
- 如果丢包开始于前三跳,一般为本地运营商网络问题,建议检查访问其他网址是否存在相同情况。
- 如果丢包发生在接近目的服务器的几跳,则可能为目的服务器运营商的网络问题。
参考资料
腾讯云务器连接不上如何排查: https://cloud.tencent.com/developer/article/1613718
mrt工具介绍: https://cloud.tencent.com/document/product/213/14638#MTRofWindows
- 13.4 mysql用户管理
- Linux基础(day54)
- 13.3 mysql常用命令
- 13.2 连接mysql
- JDK容器学习之List: CopyOnWriteArrayList,ArrayList,LinkedList对比
- 13.1 设置更改root密码
- 12.23 open_basedir
- JDK容器学习之CopyOnWriteArrayList:线程安全保障机制
- JDK容器学习之LinkedList:底层存储&读写逻辑
- Linux基础(day53)
- 15.4 xshell使用xftp传输文件
- JDK容器学习之ArrayList:底层存储和动态扩容
- Linux基础(day57)
- 15.2/15.3 使用vsftpd搭建ftp
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C# Task.Delay() 和 Thread.Sleep() 区别
- Csharp实例:武汉智能安检闸机数据接收和解析
- [周末往期回顾]Oracle基本参数(LOG_ARCHIVE_DEST_n)
- [周末往期回顾]Oracle基本参数(SGA_TARGET)
- C#如何释放已经加载的图片
- 笔记本内置摄像头视频播放和存储
- [Data Guard全解析]5.Data Guard及ADG日常运维操作
- [Oracle 数据库日常操作] 表空间的日常运维命令
- Java 反射 -超详细讲解(附源码)
- [Data Guard全解析]6.物理备库的Switchover
- com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException异常解决方法
- [Oracle数据库日常操作] Redo Log的相关操作
- [周末往期回顾] 使用requests和fiddler模拟登陆51cto并获取下载币
- [周末往期回顾] 自动备份思科交换机配置
- [打造自己的监控系统]让Django运行自定义命令