网络丢包带宽测试工具 iperf3 简单认知

2397 篇文章 34 订阅
1913 篇文章 14 订阅

1写在前面


  • iperf3 是一种网络性能测试工具

  • 工作中用到,这里简单介绍

  • 理解不足小伙伴帮忙指正

对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》

iperf3

iperf3 是一种网络性能测试工具,可以用于测试带宽、吞吐量、丢包 等指标。使用iperf3进行性能测试的基本步骤:

启动iperf3服务器。在要测试的计算机上启动iperf3服务器,以便接受客户端请求。在命令行中执行以下命令:

iperf3 -s

该命令将把iperf3服务器启动在默认TCP端口(5201)上,并开始监听客户端连接请求。

在另一个终端窗口中启动iperf3客户端,并连接到服务器。在要测试的另一台计算机上,在命令行中执行以下命令:

iperf3 -c <server_ip_address>

其中,"<server_ip_address>"是iperf3服务器的IP地址。这将启动iperf3客户端,并尝试连接到指定的服务器。

进行性能测试。一旦客户端与服务器建立连接,性能测试即可开始。iperf3默认使用TCP协议进行测试,测试时间为10秒。可以使用各种选项和参数来调整测试过程和输出结果。

⬢[root@toolbox ~]#  iperf3  -c 192.168.26.1
Connecting to host 192.168.26.1, port 5201
[  5] local 192.168.26.6 port 41866 connected to 192.168.26.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  2.67 GBytes  23.0 Gbits/sec  3946    401 KBytes
[  5]   1.00-2.00   sec  2.64 GBytes  22.6 Gbits/sec  4408    263 KBytes
[  5]   2.00-3.00   sec  2.68 GBytes  23.0 Gbits/sec  4027    428 KBytes
[  5]   3.00-4.00   sec  2.83 GBytes  24.3 Gbits/sec  3662    381 KBytes
[  5]   4.00-5.00   sec  2.86 GBytes  24.6 Gbits/sec  3212    414 KBytes
[  5]   5.00-6.00   sec  2.79 GBytes  24.0 Gbits/sec  4233    372 KBytes
[  5]   6.00-7.00   sec  2.80 GBytes  24.1 Gbits/sec  4195    428 KBytes
[  5]   7.00-8.00   sec  2.61 GBytes  22.4 Gbits/sec  4121    465 KBytes
[  5]   8.00-9.00   sec  2.76 GBytes  23.7 Gbits/sec  4708    519 KBytes
[  5]   9.00-10.00  sec  2.55 GBytes  21.9 Gbits/sec  4095    445 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  27.2 GBytes  23.4 Gbits/sec  40607             sender
[  5]   0.00-10.00  sec  27.2 GBytes  23.3 Gbits/sec                  receiver

iperf Done.

这是iperf3的测试结果,其中包括:

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  2.67 GBytes  23.0 Gbits/sec  3946    401 KBytes
[  5]   1.00-2.00   sec  2.64 GBytes  22.6 Gbits/sec  4408    263 KBytes
  • ID:iperf3测试任务的标识符。

  • Interval:测试时间间隔。

  • Transfer:传输数据量。

  • Bitrate:传输速率(带宽)。

  • Retr:重传操作次数(丢包数)。

  • Cwnd:TCP拥塞窗口大小。

这两行结果显示了2个1秒钟的测试时间间隔内的性能指标。第一个时间间隔中,传输了2.67GBytes的数据,速率为23.0Gbits/sec,并执行了3946次重传操作。TCP拥塞窗口大小为401KBytes。在第二个时间间隔中,传输了2.64 GBytes的数据,速率为22.6 Gbits/sec,并执行了4408次重传操作。TCP拥塞窗口大小为263 KBytes。通过这些指标,可以了解网络带宽和连接质量等信息。

测试结果

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  27.2 GBytes  23.4 Gbits/sec  40607             sender
[  5]   0.00-10.00  sec  27.2 GBytes  23.3 Gbits/sec                  receiver

  • ID:测试流的唯一标识符。

  • Interval:测试的时间间隔,以秒为单位。

  • Transfer:在测试过程中传输的总字节数。

  • Bitrate:传输速率,以比特每秒(bps)为单位。

  • Retr:在测试期间发生的重传次数。

  • Sender:表示此行所列出的结果来自iperf3客户端。

  • Receiver:表示此行所列出的结果来自iperf3服务器。

根据上述iperf3测试的结果,从192.168.26.6到192.168.26.1的连接中,传输速率大约是23.4 Gbits/sec。整个测试持续了10秒钟,期间发送了27.2GB的数据,共进行了40607次重传操作。这个速度非常快,表明网络质量较好,可用于高速数据传输。

在日常的网络测试中,可以通过 Retr 来衡量丢包数。Bitrate 为俗称的带宽,指定时间通吐量可以通过下面的方式确定,

27.2 GBytes = 27.2 * 8 Gbits(将字节转换为比特) 测试持续时间为10秒,平均传输速率或通吐量 = 总传输数据量 / 测试持续时间

(27.2 * 8 Gbits) / 10秒 = 217.6 Gbits / 10秒 = 21.76 Gbits/秒

因此,通过iperf3测试的平均通吐量为每秒21.76 Gbits。

需要注意的是,iperf3也支持其他协议和选项,例如UDP、多线程并发测试和带宽限制等。您可以参考官方文档或手册,以了解更多关于iperf3的用法和示例。

-s:启动iperf3服务器,并等待客户端连接请求。

iperf3 -s -c <server_ip_address>:建立与指定服务器的连接,并进行性能测试。可以使用"-u"选项来执行UDP测试。

iperf3 -c 10.0.0.1 -t <duration>:指定测试的时间长度,以秒为单位。默认值为10秒。

iperf3 -c 10.0.0.1 -t 30 -P <num_threads>:指定并发连接数。每个连接将在单独处理

指定总包大小

⬢[root@toolbox ~]#  iperf3  -c 192.168.26.1 -i 40Gbits
Connecting to host 192.168.26.1, port 5201
[  5] local 192.168.26.3 port 36474 connected to 192.168.26.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-10.00  sec  26.0 GBytes  22.4 Gbits/sec  38517    424 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  26.0 GBytes  22.4 Gbits/sec  38517             sender
[  5]   0.00-10.00  sec  26.0 GBytes  22.4 Gbits/sec                  receiver

iperf Done.

指定每秒的包大小

⬢[root@toolbox ~]#  iperf3  -c 192.168.26.1 -b 40Gbits
Connecting to host 192.168.26.1, port 5201
[  5] local 192.168.26.3 port 45604 connected to 192.168.26.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  2.65 GBytes  22.7 Gbits/sec  4347    514 KBytes
[  5]   1.00-2.00   sec  2.77 GBytes  23.8 Gbits/sec  3378    564 KBytes
[  5]   2.00-3.00   sec  2.78 GBytes  23.8 Gbits/sec  2974    516 KBytes
[  5]   3.00-4.00   sec  2.68 GBytes  23.0 Gbits/sec  2967    558 KBytes
[  5]   4.00-5.00   sec  2.64 GBytes  22.7 Gbits/sec  4959    379 KBytes
[  5]   5.00-6.00   sec  2.61 GBytes  22.4 Gbits/sec  3439    459 KBytes
[  5]   6.00-7.00   sec  2.80 GBytes  24.1 Gbits/sec  4277    562 KBytes
[  5]   7.00-8.00   sec  2.66 GBytes  22.9 Gbits/sec  3901    523 KBytes
[  5]   8.00-9.00   sec  2.76 GBytes  23.7 Gbits/sec  3455    519 KBytes
[  5]   9.00-10.00  sec  2.86 GBytes  24.6 Gbits/sec  3459    467 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  27.2 GBytes  23.4 Gbits/sec  37156             sender
[  5]   0.00-10.00  sec  27.2 GBytes  23.4 Gbits/sec                  receiver

iperf Done.
⬢[root@toolbox ~]#

2博文部分内容参考

© 文中涉及参考链接内容版权归原作者所有,如有侵权请告知,这是一个开源项目,如果你认可它,不要吝啬星星哦 :)

最后:下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Iperf3是一款网络性能测试工具,它可以进行TCP和UDP的带宽测量。不过在UDP测试中,Iperf3的丢包率可能不是很准确。 首先,UDP是一种无连接协议,数据包不会保证被传输到接收端。因此,在进行UDP测试时,即使在正常情况下发送的数据包没有丢失,也可能在网络拥塞或延迟等情况下发生数据包丢失的情况。这种情况下,Iperf3的UDP测试会误判数据包丢失率。 其次,Iperf3对于UDP测试丢包率计算方法并不精确,它通常使用公式“丢包率=1-(接收数据包数量/发送数据包数量)”来计算。但是这种计算方式并没有考虑丢失数据包的时间以及数据包的大小等因素。因此,在一些特殊情况下,Iperf3的丢包率算出来的数据可能会偏高或偏低。 因此,如果要进行准确的网络丢包测试,建议使用其他的网络性能测试工具或者结合Iperf3进行多种测试结果的比较。同时,在进行测试时应该考虑网络环境、延迟等因素,以及多次测试取平均值的情况。 ### 回答2: Iperf3是一款开源的网络性能测试工具,可以用来测试TCP和UDP网络吞吐量、延迟、带宽等性能指标。然而,由于UDP传输不可靠的特性,iperf3在进行UDP传输测试时可能会出现丢包情况,这也是网络中常见的现象之一。 然而,有时候iperf3 udp测试丢包率的结果并不准确。这主要是由于以下几个原因: 1、网络拥塞在UDP测试中会导致数据包的丢失,但是由于网络拥塞是瞬时现象,因此,UDP测试只测量了瞬间网络状态,而未测量网络性能的长期表现。 2、iperf3 UDP测试可能存在数据包重传的问题。在udp传输过程中,如果数据包丢失,则发送端通常会对丢失的数据包进行重传,因此,重传数据包的数量可能会导致iperf3测试结果偏差。 3、使用不同的操作系统和运行环境进行iperf3测试也可能会影响测试结果。不同操作系统和运行环境的网络协议栈实现方式不同,可能会对UDP传输性能产生不同的影响,从而导致测试结果不准确。 因此,为了获得更准确的测试结果,我们应该注意以下几点: 1、尝试进行多次测试,以便获得更准确的平均值。 2、将iperf3测试结果与其他网络性能测试工具的结果进行比较,以验证iperf3测试结果的准确性。 3、使用同一操作系统和运行环境的系统进行测试,可以消除不同操作系统的差异。 总之,iperf3 udp测试丢包率不准是一种常见现象,我们在进行UDP传输测试时应该注意这些可能影响测试结果的因素,并采取相应的措施进行测试,以获得准确的测试结果。 ### 回答3: Iperf3是一款基于UDP和TCP协议的网络测速工具,它可以用于测试网络带宽、延迟、丢包率等几个方面的性能。 然而,在使用iperf3进行UDP测试时,我们可能会发现测试结果显示的丢包率并不准确,这是因为UDP协议本身就存在一些特性导致的。 首先,UDP协议是面向无连接的,它不像TCP协议那样需要进行握手和连接,因此,在网络拥堵时,数据包可能会因为网络负荷过重而被丢弃,这种情况下测试结果会显示出很高的丢包率。但是,也有可能是因为网络的拥堵导致路由器缓冲区满了,导致后续的数据包发生了乱序和最终的丢失,这也会导致测试结果的丢包率不准确。 其次,UDP协议是不可靠的,它只是尽力地将数据包送至目的地,而不保证送达的可靠性。在面对网络状况较坏的情况下,数据包可能会出现丢失或者大量重传,都会对测试结果产生影响,使得丢包率显示不准确。 另外,在进行UDP测试时,我们可以采用多次测试并取平均值的方式,以减小测试误差,并且加上选项"--udp-bw"设置限制带宽,避免过多大数据包丢失,从而更加准确的得出测试结果。 综上所述,iperf3 UDP测试丢包率不准确,是由于UDP协议本身的特性造成的,并不代表iperf3工具本身的问题。在进行UDP测试时,我们需要了解UDP协议的性质,并采取正确的测试方式,才能得到准确的测试结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值