当前位置 : 主页 > 网络编程 > 其它编程 >

linux局域网内互ping丢包_LINUX下的网络分析武器库

来源:互联网 收集:自由互联 发布时间:2023-07-02
以前遇到过不少因为网络丢包导致数据库故障的情况所以在开发D-SMART的时候引入了网络丢包指标。在一些用户现场还真发挥了一些作用。有一个客户的某个半夜执行的批量抽数 以前遇到
以前遇到过不少因为网络丢包导致数据库故障的情况所以在开发D-SMART的时候引入了网络丢包指标。在一些用户现场还真发挥了一些作用。有一个客户的某个半夜执行的批量抽数 以前遇到过不少因为网络丢包导致数据库故障的情况所以在开发D-SMART的时候引入了网络丢包指标。在一些用户现场还真发挥了一些作用。有一个客户的某个半夜执行的批量抽数应用突然变慢了平时5分钟完成的工作经常半小时还跑不完。查看执行计划、SQL的执行开销表的数据量等都没有任何差异。Oracle原厂工程师发现的唯一疑点就是SQL *NET MORE DATA TO CLIENT等待的数量变大了其他并无发现。

8683bca9d5e44a7e14b50e33fb2b94ba.png

D-SMART的雷达图上看到操作系统扣分十分严重打开一看原来是网络丢包量十分严重。后来换了根网线这个问题就消失了看样子真的和网络有关。

这两天一个客户那边有几套系统我们的D-SMART总是报警网络有丢包高峰的时候会达到每秒几百个。一般情况下每秒有十个八个丢包是不会报警的不过如果比较高的时候必须做一个分析否则心里总觉得不安心。于是我们就在INTEL等朋友的帮助下边学边干工作过程中发现LINUX的网络分析武器库还是十分强大的如果我们能够用好完全是可以解决目前的大多数问题的。

0aa31cb46bed62fcf74cb329eda7dd55.png

linux上网络排查的武器库还是挺完备的从最简单的ifconfig到netstat(linux 7可以使用增强版的工具ss)再到网络接口工具ethtool,网络抓包工具tcpdump网络路由跟踪工具mrt等待。一般来说通过这些工具就能够抓取到我们所需要的诊断数据了。

ifconfig

ifconfig是最为常用的网卡诊断工具。除了可以看网卡绑定的IP地址以及状态外还可以查看报错信息。

edef148989c69e726dccece691acd659.png

通过errors/dropped/overruns这几个指标我们可以了解网卡的工作情况error是出现了网络错误dropped是出现了格式不正确被丢弃的包overruns 驱动缓冲不足或者网络中断处理不及时导致的缓冲溢出的数量

ethtool

ethtool是网卡诊断最为重要的工具大多数的网卡上面的问题都可以通过这个工具来检查。下面一套系统的网络丢包问题比较严重通过ethtool很明显就发现了问题。

c11c38386fb5faac831ecff7b40267dc.png

rx_errors的错误数量和rx_crc_errors的数量差不多。主要是crc导致的问题。一般crc_errors是level 1的错误和网络介质、网卡、交换机端口等物理设备有关。所以可以直接交给网络组去进一步分析了。

ethtool -k可以查看网卡上的各个开关的状态有时候调整这些开关可以起到优化的作用。

ad3ddac6269616f54e4b2a6b020196bd.png

ethtool -g可以查看ring buffer的状态网络流量过大ring buffer不足会导致大量的overruns和dropped的包产生。(明天的另外一篇文章里老白会详细介绍网络诊断的一些常用流程)。

f9b372bd27bd2dc78fe38b09600eda37.png

netstat

netstat -in可以大体上看到各个网卡的情况包括ERR/DRP/OVR等的计数。

e9d8c32efca1afb1540f99895df24bf6.png

通过netstat -in看RX-DRP的数量比较高而且还在不断的增长。这就说明目前网络包的dropped一直在发生。

而通过netstat -s看到的统计数据中各种错误的统计

ec2c8f9c81d202f8cd785e10bcabd246.png

ss

 Linux 7开始提供的一个socket分析工具包含绝大多数netstat的功能并能够提供更为详细的数据。socket分析的利器。

4d3738b5f64f5b034f84a680f69cdad9.png

/proc/net/dev这个文件里我们可以采集到netstat -in中所有的信息监控软件之间读取里面的数据就可以很方便的完成相关的采集了。其中的fifo的含义和overruns类似不过更为底层就是ring buffer出现fifo丢弃的次数此指标不为零说明ring buffer存在不足的问题。

74d4e7bcb471e5f448e2f2b39e38757c.png

tcpdump最为强大的抓包分析工具之一。如果需要一些专业分析的时候可以使用。比如分析一下是否存在超过MTU大小的包tcpdump -v -c 10 -ni enp26s0f0 -ttt greater 1532

c7dd52ece7d211fa101f2f0c428445a9.png

mtrmtr(mytraceroute)是一个端到端网络连通性分析的重要工具。

dd227faa7f66fc741a6497564de18c36.png

如果要分析网络端到端的质量可以直接使用mtr -r 在报告中可以看到所有网络跳转的统计信息包括丢包率ping的延时以及方差。如果你看到中间的某一跳的丢包率较高并不意味着这一跳一定存在问题因为有可能这一跳的设备上对icmp做了限流你看到的最后一跳的结果是最终的结果因此如果某一跳存在问题后续的各跳都正常了那么不一定问题就存在。【转自:滨海网站设计公司 http://www.1234xp.com/binhai.html 欢迎留下您的宝贵建议】
上一篇:初识Asyncio教程
下一篇:没有了
网友评论