前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络丢包带宽测试工具 iperf3 简单认知

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

作者头像
山河已无恙
发布2023-09-21 08:22:29
2.8K1
发布2023-09-21 08:22:29
举报
文章被收录于专栏:山河已无恙

1写在前面

  • iperf3 是一种网络性能测试工具
  • 工作中用到,这里简单介绍
  • 理解不足小伙伴帮忙指正

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

iperf3

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

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

代码语言:javascript
复制
iperf3 -s

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

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

代码语言:javascript
复制
iperf3 -c <server_ip_address>

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

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

代码语言:javascript
复制
⬢[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的测试结果,其中包括:

代码语言:javascript
复制
[ 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。通过这些指标,可以了解网络带宽和连接质量等信息。

测试结果

代码语言:javascript
复制
[ 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>:指定并发连接数。每个连接将在单独处理

指定总包大小

代码语言:javascript
复制
⬢[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.

指定每秒的包大小

代码语言:javascript
复制
⬢[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博文部分内容参考

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

man iperf3

© 2018-2023 liruilonger@gmail.com, All rights reserved. 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-20 08:02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 山河已无恙 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1写在前面
    • iperf3
    • 2博文部分内容参考
    相关产品与服务
    腾讯云服务器利旧
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档