在两台机器上安装 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
我们有许多在线工具可以帮助我们监控不同 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