问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用iperf3测试网络带宽

创作时间:
作者:
@小白创作中心

使用iperf3测试网络带宽

引用
CSDN
1.
https://m.blog.csdn.net/cnzzs/article/details/145526666

一、背景

随着K8S在公司内的深度使用,当前千兆的网络环境已经无法满足使用需求,需要搭建一套万兆网络的K8S环境,用于满足K8S集群对网络性能、存储(更换为全固态)的需求。本次测试主要是测试跨交换机,网络带宽是否能跑到10G/s。

二、环境

  • 交换机型号:华为CE5850-48T4S2Q-EI
  • 网线:六类线
  • 网络拓扑:

三、测试

3.1 测试方式

  1. 在3台服务器上安装iperf3
apt install iperf3
  1. 在服务端起监听
iperf3 -s -i 3
  1. 在客户端发起请求
iperf3 -i 3 -c 192.168.1.2 -b 9900M -n 99999999999
  1. 测试结果
root@it:~# iperf3 -i 3 -c 192.168.1.2 -b 9900M -n 99999999999
Connecting to host 192.168.1.4, port 5201
[  5] local 192.168.1.2 port 38442 connected to 192.168.1.4 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-3.00   sec  3.28 GBytes  9.39 Gbits/sec   57   2.17 MBytes       
[  5]   3.00-6.00   sec  3.28 GBytes  9.39 Gbits/sec   17   3.10 MBytes       
[  5]   6.00-9.00   sec  3.28 GBytes  9.39 Gbits/sec    0   3.76 MBytes       
[  5]   9.00-12.00  sec  3.28 GBytes  9.39 Gbits/sec   37   3.81 MBytes       
[  5]  12.00-15.00  sec  3.28 GBytes  9.39 Gbits/sec    0   3.82 MBytes       
[  5]  15.00-18.00  sec  3.28 GBytes  9.39 Gbits/sec   19   3.83 MBytes       
[  5]  18.00-21.00  sec  3.28 GBytes  9.39 Gbits/sec   11   3.83 MBytes       
[  5]  21.00-24.00  sec  3.28 GBytes  9.39 Gbits/sec   18   3.83 MBytes       
[  5]  24.00-27.00  sec  3.28 GBytes  9.39 Gbits/sec    2   3.83 MBytes       
[  5]  27.00-30.00  sec  3.28 GBytes  9.39 Gbits/sec    2   3.83 MBytes       
[  5]  30.00-33.00  sec  3.28 GBytes  9.39 Gbits/sec    2   3.83 MBytes       
[  5]  33.00-36.00  sec  3.28 GBytes  9.39 Gbits/sec   21   3.83 MBytes       
[  5]  36.00-39.00  sec  3.28 GBytes  9.39 Gbits/sec   17   3.83 MBytes       
[  5]  39.00-42.00  sec  3.28 GBytes  9.38 Gbits/sec    8   3.83 MBytes       
[  5]  42.00-45.00  sec  3.28 GBytes  9.39 Gbits/sec   13   3.84 MBytes       
[  5]  45.00-48.00  sec  3.28 GBytes  9.39 Gbits/sec    3   3.84 MBytes       
[  5]  48.00-51.00  sec  3.28 GBytes  9.39 Gbits/sec   12   3.84 MBytes       
[  5]  51.00-54.00  sec  3.28 GBytes  9.39 Gbits/sec   34   3.84 MBytes       
[  5]  54.00-57.00  sec  3.28 GBytes  9.39 Gbits/sec    8   3.85 MBytes       
[  5]  57.00-60.00  sec  3.28 GBytes  9.39 Gbits/sec   50   3.85 MBytes       
[  5]  60.00-63.00  sec  3.28 GBytes  9.39 Gbits/sec    6   3.85 MBytes       
[  5]  63.00-66.00  sec  3.28 GBytes  9.39 Gbits/sec    0   3.85 MBytes       
[  5]  66.00-69.00  sec  3.28 GBytes  9.39 Gbits/sec   16   3.85 MBytes       
[  5]  69.00-72.00  sec  3.28 GBytes  9.39 Gbits/sec    8   3.85 MBytes       
[  5]  72.00-75.00  sec  3.28 GBytes  9.39 Gbits/sec   12   3.85 MBytes       
[  5]  75.00-78.00  sec  3.28 GBytes  9.39 Gbits/sec    0   3.85 MBytes       
[  5]  78.00-81.00  sec  3.28 GBytes  9.39 Gbits/sec   15   3.85 MBytes       
[  5]  81.00-84.00  sec  3.28 GBytes  9.39 Gbits/sec   15   3.85 MBytes       
[  5]  84.00-85.20  sec  1.31 GBytes  9.38 Gbits/sec    4   3.85 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-85.20  sec  93.1 GBytes  9.39 Gbits/sec  407             sender
[  5]   0.00-85.20  sec  93.1 GBytes  9.39 Gbits/sec                  receiver
iperf Done.  

3.2 测试参数说明

服务端命令

iperf3 -s -i 3

此命令的作用是启动iperf3作为服务器端来运行,并设定统计信息的输出间隔,以此对客户端和服务器之间的网络性能进行测试评估。

  • 含义
  • -s是server的缩写,其功能是让iperf3以服务器模式启动。在服务器模式下,iperf3会监听特定的端口(默认是TCP和UDP的5201端口),等待客户端的连接请求。一旦有客户端连接到该服务器,二者就会开始进行数据传输,进而完成网络性能测试。
  • -i 3代表interval,也就是间隔的意思。这个参数用来指定服务器输出统计信息的时间间隔,单位为秒。这里设置为3,表示服务器每3秒会输出一次当前的测试统计信息,这些信息涵盖了已接收的字节数、带宽等内容。

客户端命令

iperf3 -i 3 -c 192.168.1.2 -b 9900M -n 99999999999
  • 含义
  • -i 3是interval的缩写,该参数用于指定统计信息的输出间隔时间,单位为秒。这里设置为3,意味着iperf3每3秒会输出一次当前的测试统计信息,包括发送的字节数、带宽等。
  • -c 192.168.1.2表示以客户端模式运行iperf3,后面紧跟的192.168.1.2是服务器的IP地址。这意味着当前的iperf3实例将作为客户端,尝试连接到IP地址为192.168.1.2的iperf3服务器,并发起网络性能测试。
  • -b 9900M是bandwidth的缩写,用于指定客户端发送数据的目标带宽。这里设置为9900M,表示客户端将尝试以9900Mbps(兆比特每秒)的速率向服务器发送数据。
  • -n 99999999999表示客户端发送数据的总量,单位为字节。这里设置为99999999999字节,意味着客户端会持续向服务器发送数据,直到发送的数据总量达到99999999999字节,然后停止测试。

总结:该命令会让iperf3客户端以9900Mbps的目标速率向IP地址为192.168.1.2的服务器发送数据,每3秒输出一次测试统计信息,直到发送的数据总量达到99999999999字节为止。

3.3 测试结果说明

  • 下图部分带宽等于或接近10G/s即可

四、遇到的问题

  1. 服务端启用监听报错
root@it:~# iperf3 -s -i 3 
iperf3: error - unable to start listener for connections: Address already in use
iperf3: exiting  

解决:杀掉进程后重新监听即可

root@it:~# ps -ef | grep iperf
iperf3      7579       1  0 09:38 ?        00:00:00 /usr/bin/iperf3 --server --interval 0
root        7582    1910  0 09:40 pts/0    00:00:00 grep --color=auto iperf
root@it:~# kill 7579
root@it:~# 
root@it:~# ps -ef | grep iperf
root        7588    1910  0 09:40 pts/0    00:00:00 grep --color=auto iperf
root@it:~# 
root@it:~# iperf3 -s -i 3
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------  
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号