自学内容网 自学内容网

Linux评估网络性能

网络性能直接影响应用程序对外提供服务的稳定性和可靠性

  1. ping命令检测网络的连通性
    如果网络反应缓慢,或连接中断,可以用ping来测试网络的连通情况

    在这里插入图片描述

    time值(单位为毫秒)显示了两台主机之间的网络延时情况。如果此值很大,则表示网络的延时很大。
    在这个输出的最后,是对上面输出信息的一个总结。packet loss表示网络的丢包率,此值越小,表示网络的质量越高。

  2. 通过netstat -i命令组合检测网络接口状况
    netstat命令提供了网络接口的详细信息

    E540:~$ netstat -i
    Kernel Interface table
    Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    docker0   1500        0      0      0 0             0      0      0      0 BMU
    enp4s0    1500        0      0      0 0             0      0      0      0 BMU
    lo       65536     5932      0      0 0          5932      0      0      0 LRU
    wlp5s0    1500   199831      0     73 0        169157      0      0      0 BMRU
    
    • face表示网络设备的接口名称
    • MTU表示最大传输单元,单位为字节
    • RX-OK/TX-OK表示已经准确无误地接收/发送了多少数据包
    • RX-ERR/TX-ERR表示接收/发送数据包时产生了多少错误
    • RX-DRP/TX-DRP表示接收/发送数据包时丢弃了多少数据包
    • RX-OVR/TX-OVR表示由于误差而遗失了多少数据包
    • Flg表示接口标记。其中,各个选项的含义如下
      • L表示该接口是个回环设备
      • B表示设置了广播地址
      • M表示接收所有数据包
      • R表示接口正在运行
      • U表示接口处于活动状态
      • O表示在该接口上禁用arp
      • P表示一个点到点的连接

    正常情况下,RX-ERR/TX-ERR、RX-DRP/TX-DRP和RX-OVR/TX-OVR的值都应该为0。如果这几个选项的值不为0,并且很大,那么网络质量肯定有问题,网络传输性能也一定会下降

  3. 通过netstat -r命令组合检测系统的路由表信息
    在网络不通或者网络异常时,首先要检查系统的路由表信息。netstat -r的输出结果与route命令的输出完全相同

    E540:~$ netstat -r
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    default         _gateway        0.0.0.0         UG        0 0          0 wlp5s0
    link-local      0.0.0.0         255.255.0.0     U         0 0          0 wlp5s0
    172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
    192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 wlp5s0
    

    重点关注的是default行对应的值,default项表示系统的默认路由,对应的网络接口为eth0

  4. 通过sar –n命令组合显示系统的网络运行状态
    sar提供4种不同的选项来显示网络统计信息
    通过“-n”选项可以指定4个不同类型的开关:

    • DEV
    • EDEV
    • SOCK
    • FULL
    E540:~$ sar -n DEV 1
    Linux 5.15.0-126-generic (Edge-E540) 2024年12月08日 _x86_64_(8 CPU)
    
    14时54分17秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
    14时54分18秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    14时54分18秒    enp4s0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    14时54分18秒    wlp5s0      2.00      0.00      0.12      0.00      0.00      0.00      0.00      0.00
    14时54分18秒   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    
    # -------------------------------------------------------------------------------------
    E540:~$ sar -n DEV 2 3
    Linux 5.15.0-126-generic (Edge-E540) 2024年12月08日 _x86_64_(8 CPU)
    
    14时53分23秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
    14时53分25秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    14时53分25秒    enp4s0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    14时53分25秒    wlp5s0      1.50      0.00      0.08      0.00      0.00      0.00      0.00      0.00
    14时53分25秒   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    
    14时53分25秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
    14时53分27秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    14时53分27秒    enp4s0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    14时53分27秒    wlp5s0     12.00      2.50      3.36      1.15      0.00      0.00      0.00      0.00
    14时53分27秒   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    
    14时53分27秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
    14时53分29秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    14时53分29秒    enp4s0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    14时53分29秒    wlp5s0      2.50      0.50      0.16      0.05      0.00      0.00      0.00      0.00
    14时53分29秒   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    
    Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
    Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    Average:       enp4s0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    Average:       wlp5s0      5.33      1.00      1.20      0.40      0.00      0.00      0.00      0.00
    Average:      docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    
    • IFACE表示网络接口设备。
    • rxpck/s表示每秒钟接收的数据包大小。
    • txpck/s表示每秒钟发送的数据包大小。
    • rxkB/s表示每秒钟接收的字节数。
    • txkB/s表示每秒钟发送的字节数。
    • rxcmp/s表示每秒钟接收的压缩数据包。
    • txcmp/s表示每秒钟发送的压缩数据包。
    • rxmcst/s表示每秒钟接收的多播数据包。

    通过“sar –n”的输出,可以清楚地显示网络接口发送、接收数据的统计信息。此外还可以通过“sar -n EDEV 2 3”来统计网络错误信息等。

网络问题是简单而且容易处理的,一般都能迅速定位问题。解决问题的方法一般是增加网络带宽,或者优化网络部署环境。

除了上面介绍的几个命令外,排查网络问题经常用到的命令还有traceroute(它主要用于跟踪数据包的传输路径),以及nslookup命令(它主要用于判断DNS解析信息)


原文地址:https://blog.csdn.net/ximaiyao1984/article/details/144325777

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!