Last updated
Was this helpful?
Last updated
Was this helpful?
业务反馈虚拟机访问分布式存储间歇性存在延迟问题,初步排查了虚拟化相关性能,没有发现异常。所以怀疑可能是网络问题。以下是一个简单的排查网络延迟的方法:
使用ping -i 0.1 xxx.x.x.x
来加快ping包频率,可以快速反映出网络是否有性能问题。(默认ping间隔1秒,对于网络抖动不容易发现问题)
使用tcpdump -n host xxx.x.x.x and icmp
检查两边服务器上ping包,当出现响应延迟时,记录下ping包的id,然后根据id检查两边tcpdump的时间戳,对比时间戳差异就可以知道在那段出现延迟。
案例命令
写入抓包文件
如果只抓包100mb
还可以重复抓多个100mb的包,例如以下是存储50个文件(也就是 5 gb)
存储的抓包文件可以使用Wireshark查看,显示过滤:
A主机:192.168.1.109
B主机:192.168.4.135
192.168.1.109 A主机上执行:
在另一台192.168.4.135 B主机上反向抓包:
然后在 192.168.4.135
上 ping 192.168.1.109
,当出现响应延迟时候终止ping,记录下id。例如,以下案例可以看到响应时间突然增加到10.1 ms
,对应到icmp包icmp_seq
是363
。接下来就是根据这个363
id来检查两边tcpdump上到时间戳
对比时间戳
192.168.1.109显示:
192.168.4.135显示:
发出的包中间网络时间: 20:47:02.864948 - 20:47:02.853050 = 11.898 ms
返回的包中间网络时间: 20:47:02.864966 - 20:47:02.863233 = 1.733 ms
可以确定从 192.168.4.135
到 192.168.1.109
出现了较大延迟,可以检查一下这个链路方向网络交换机以及链路。