网络稳定问题debug流程

Home

网络稳定问题debug流程

慢慢刨坑

Directory

1. 本地网络 - 链路层检查

使用下面命令行看出口网卡是否有报错

[master@XServer ~]$ sudo sar -n EDEV 5 50| grep -v veth | grep -v br

2. 网内通讯 - 网络层检查

确定网卡没有丢包异常,开始检查网络通讯有什么服务在链接:

iftop

3. 联网应用 - 应用层检查

使用ss命令检查哪些进程在联网,根据应用的情况判断网卡情况:

ss -ntpl | grep -v docker

比如我们结合iftop和ss发现mongodb有大量读的操作导致产生网络IO,那就检查mongo在读什么表,同时间段有什么服务在读这个表:

db.currentop()

4. 出口网关 - 网络层检查

涉及到外网访问的情况,使用mtr看每一跳路由丢包情况。

下面案例中,发现10.8.0.1 trace240次,网关丢包率高达97.9%:

mtr -b www.baidu.com
10.8.0.1                    97.9%   240    5.5   4.3   3.1   5.5   0.7

另一种情况是发现网络服务商的某个节点丢包率较高:

mtr -b www.baidu.com
124.160.189.142             66.1%   281   27.0  30.2  26.8  44.6   3.2