【网络】如何判断网络达到瓶颈

目录

 

查看碰撞率 collisions

查看数据流占带宽比

查看方法

注意 参照物


查看碰撞率 collisions

ifconfig 查看信息

# collisions:发生碰撞的数据包,如果发生太多次,表明网络状况不太好

[root@localhost ~]# ifconfig
enp61s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 182.200.31.57  netmask 255.255.255.0  broadcast 182.200.31.255
        ether 10:19:65:e7:fa:1e  txqueuelen 1000  (Ethernet)
        RX packets 397612846  bytes 30815698063 (28.6 GiB)
        RX errors 0  dropped 7968  overruns 0  frame 0
        TX packets 26173914  bytes 3366937489 (3.1 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens3f1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.169.31.57  netmask 255.255.255.0  broadcast 192.169.31.255
        inet6 fe80::b696:91ff:fea0:3d8d  prefixlen 64  scopeid 0x20<link>
        ether b4:96:91:a0:3d:8d  txqueuelen 1000  (Ethernet)
        RX packets 612298747  bytes 571079706867 (531.8 GiB)
        RX errors 0  dropped 51826  overruns 0  frame 0
        TX packets 1075240400  bytes 1182950023315 (1.0 TiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 297730746  bytes 90218812438 (84.0 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 297730746  bytes 90218812438 (84.0 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

查看数据流占带宽比

查看方法

 第1步:ethtool查看网卡标称带宽

用ethtool查询网卡信息,下面显示的速度是 Speed: 25000Mb/s,注意,这里是Mb,不是MB。1B=8b,所以是(25000/8)MB/S,乘以1024,就是1024*(25000/8)kB/s。

[root@localhost ~]# ethtool ens3f1
Settings for ens3f1:
        Supported ports: [ FIBRE ]
        Supported link modes:   1000baseT/Full 
                                10000baseT/Full 
                                25000baseCR/Full 
                                25000baseSR/Full 
                                1000baseX/Full 
                                10000baseSR/Full 
                                10000baseLR/Full 
        Supported pause frame use: Symmetric
        Supports auto-negotiation: Yes
        Supported FEC modes: None RS
        Advertised link modes:  10000baseT/Full 
                                25000baseCR/Full 
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: None RS
        Link partner advertised link modes:  Not reported
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 25000Mb/s
        Duplex: Full
        Port: Direct Attach Copper
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes
 

第二步:sar命令查看数据流占用带宽

通过sar命令(sar -n DEV 1)查看网络情况,rxkB/s表示每秒接收的数据量,除以上面的speed

186879.59/1024*(25000/8)*100 = 5.8%

可以看出,带宽占用比不高。 

01时36分25秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
01时36分26秒        lo    244.00    244.00     38.57     38.57      0.00      0.00      0.00
01时36分26秒 enp61s0f0    882.00    116.00     56.12     16.78      0.00      0.00      0.00
01时36分26秒 enp61s0f1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01时36分26秒    ens3f0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01时36分26秒 enp61s0f2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01时36分26秒    ens3f1 137430.00  50011.00 186879.59   9912.94      0.00      0.00      0.00
01时36分26秒 enp61s0f3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01时36分26秒    ens6f0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01时36分26秒    ens6f1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

原文:如何判断网络达到瓶颈 - wuxiaomiao - 博客园

注意 参照物

1、网卡的标称带宽

      根据进出网卡的流量和网卡带宽的比较判断出来的。 进出网卡的流量分别是90MB/s和115MB/s,和千兆网卡的最大吞吐量非常接近了。在这里,我使用的参照物是网卡的标称带宽。

但是,不同的使用场景下,带宽的上限是不一样的。比如,很多万兆卡使用MTU 9000比使用MTU 1500,在传输流数据的时候有明显的优势。再比如,同一张网卡流数据传输和小块数据传输的吞吐量上限很大概率是不同的。有些厂商会提供性能白皮书来给客户做参考,比如

IBM z14 OSA-Express7S 25 GbE Performance Report version 2019-04-19​www.ibm.com/support/pages/ibm-z14-osa-express7s-25-gbe-performance-report-version-2019-04-19

我们可以依赖厂商提供的数据来判断当前网络是否达到了峰值。

但是,真实的环境永远是残酷的。两台机器可能来自不同的厂商,不同的体系架构,使用不同的操作系统;网卡也是不同的厂商,不同的型号,中间还隔着路由器,交换机,防火墙和万水千山。这个时候,就很难依靠静态的参照物了,吞吐量的峰值和理想情况下会差距很大。

iperf工具测得的数据作为参照

这个时候,我们就可以用iperf等工具,自己把参照物测试出来。

iperf2和iperf3都是测试网络性能的工具。具体介绍参见:

iperf 一个测试网络吞吐的工具​www.cnblogs.com/xuyaowen/p/iperf-for-network.html

如果我们要获得当前网络的吞吐量峰值,有两个和应用相关的特征要掌握:

  1. 包大小
  2. 并发连接数

在上一篇中,通过nmon的NET和NET PACKETS,我们可以知道包大小大概是500字节不到。通过和测试人员交流,我了解到TPS峰值时是128个并发。但是,因为我们的应用还有处理器和io的开销,未必和iperf3 128个连接完全等价, 所以我建议应该要多试几种连接数。

首先,在服务器端,我们启动iperf3的server。

iperf3 -s -i 1 --logfile iperf-server.txt

然后,在客户端,我们启动iperf3的client。

iperf3 -c 192.168.0.2 -t 60 -P 64 --length 512 --logfile iperfclient.txt

包大小我们通过--length参数设置为512。

通过调节-P参数,我们可以尝试16,32,64,128等不同连接数。

在iperf-server.txt文件结尾,我们可以看到服务器端的吞吐量。SUM那一行显示服务器端的吞吐量是1.12Gbps。

[127]   0.00-60.02  sec   125 MBytes  17.5 Mbits/sec                  receiver
[129]   0.00-60.02  sec   125 MBytes  17.5 Mbits/sec                  receiver
[131]   0.00-60.02  sec   125 MBytes  17.5 Mbits/sec                  receiver
[133]   0.00-60.02  sec   125 MBytes  17.5 Mbits/sec                  receiver
[SUM]   0.00-60.02  sec  7.82 GBytes  1.12 Gbits/sec                  receiver

多试几种不同的连接数,我们就可以得到下面这张表。这张表告诉我们,如果有64个并发连接,这张万兆卡只有1.12Gbps的吞吐量。

原文:怎么判断网络到底是不是瓶颈?如何寻找参照物? - 知乎

posted on 2022-10-04 01:22  bdy  阅读(35)  评论(0编辑  收藏  举报

导航