在两台机器上安装 netperf

注意:我建议关闭服务器和客户端上的防火墙,以更方便进行监控,因为有时防火墙可能会阻止 netperf 向客户端计算机发送流量

在服务器上

server # rpm -Uvh /tmp/netperf-2.6.0-3.3.x86_64.rpm
warning: /tmp/netperf-2.6.0-3.3.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID f388ca22
Preparing...                ########################################### [100%]
   1:netperf                ########################################### [100%]

在任何空闲端口号上启动 netperf

# netserver -p 16604

使用主机“IN(6)ADDR_ANY”端口“16604”和系列 AF_UNSPEC 启动网络服务器

# netstat -ntlp | grep 16604
tcp        0      0 :::16604        :::*                  LISTEN      3624/netserver

我们的端口已经被netperf打开了

在客户端上

client #  rpm -Uvh /tmp/netperf-2.6.0-3.3.x86_64.rpm
warning: /tmp/netperf-2.6.0-3.3.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID f388ca22
Preparing...                ########################################### [100%]
   1:netperf                ########################################### [100%]

在下面的示例中,我们将流量发送到主机服务器 IP 192.169.32.15 100 秒

# netperf -H 192.169.32.15 -p 16604 -l 100
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.169.32.15 () port 0 AF_INET : demo
enable_enobufs failed: setsockopt
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec
11796480 11796480 11796480    100.07    994.23

因此,bond0 网络流量在我们提供给接口的限制范围内,例如:1 GB/s

让我们验证bond1

这里我的bond1的服务器IP是192.169.32.37

# netperf -H 192.169.32.37 -p 16604 -l 100
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.169.32.37 () port 0 AF_INET : demo
enable_enobufs failed: setsockopt
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec
11796480 11796480 11796480    100.02   2982.72

bond1 网络流量也在我们提供的限制范围内,例如:3 GB/s

如何使用 netperf 工具在 Linux 中监控网络带宽

我们有许多在线工具可以帮助我们监控不同 Linux 机器之间网络内的网络带宽使用情况。

在本文中,我将展示如何使用 netperf 来监控两台 Linux 机器之间的网络性能。

服务器信息

我的服务器 IP 是 192.169.32.15,其中我有 2 个绑定接口,如下所示

# ifconfig bond0
bond0     Link encap:Ethernet  HWaddr 00:17:A4:77:00:38
          inet addr:192.169.32.15  Bcast:192.169.32.31  Mask:255.255.255.224
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:9042150 errors:0 dropped:4553 overruns:0 frame:0
          TX packets:2277574 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:13654658052 (13022.0 Mb)  TX bytes:153728769 (146.6 Mb)
# ifconfig bond1
bond1     Link encap:Ethernet  HWaddr 38:63:BB:2F:E5:A9
          inet addr:192.169.32.37  Bcast:192.169.32.63  Mask:255.255.255.224
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:28334533 errors:0 dropped:2 overruns:0 frame:0
          TX packets:2066047 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:42898423316 (40911.1 Mb)  TX bytes:136362958 (130.0 Mb)

分配给bond0 下的eth0 和eth1 接口的以太网速度为1 GB

# ethtool eth0 | grep -i Speed
        Speed: 1000Mb/s
# ethtool eth1 | grep -i Speed
        Speed: 1000Mb/s

因此,如果我们使用 bond0 进行网络操作,则以太网带宽不得超过 1 GB

分配给bond1 下的eth2 和eth3 接口的以太网速度为3 GB

# ethtool eth2 | grep -i Speed
        Speed: 3000Mb/s
# ethtool eth3 | grep -i Speed
        Speed: 3000Mb/s

因此,如果我们使用 bond1 进行网络操作,则以太网带宽不得超过 3 GB

客户端信息

客户端电脑的IP是 192.169.32.17,其中我在与服务器相同的子网中有 2 个绑定接口

# ifconfig  bond0
bond0     Link encap:Ethernet  HWaddr 00:17:A4:77:00:44
          inet addr:192.169.32.17  Bcast:192.169.32.31  Mask:255.255.255.224
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:2263768 errors:0 dropped:5390 overruns:0 frame:0
          TX packets:8626819 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:150407672 (143.4 Mb)  TX bytes:12455852277 (11878.8 Mb)
# ifconfig  bond1
bond1     Link encap:Ethernet  HWaddr 38:63:BB:2F:56:C1
          inet addr:192.169.32.38  Bcast:192.169.32.63  Mask:255.255.255.224
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:2067482 errors:0 dropped:16 overruns:0 frame:0
          TX packets:28335782 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:136453804 (130.1 Mb)  TX bytes:41070143636 (39167.5 Mb)

分配给bond0 和bond1 的以太网速度与服务器相同,例如:分别为1 GB 和3 GB

让我们开始测试

日期:2020-06-02 22:17:02 来源:oir作者:oir