【iperf】网络性能评估工具iperf的安装使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【iperf】网络性能评估工具iperf的安装使用相关的知识,希望对你有一定的参考价值。

参考技术A 1.带宽(throughput):网络的吞吐率,端到端之间可以传输的最大速率,这个指标一般都会有所限制,带宽当然是越大越好,一般超过限制带宽的 50% 就会出现严重的丢包,这个可以通过 nc, wget, curl, iperf, scp 等工具测试。

2.延时(latency):数据包从源节点传输到目的节点需要的时间,如果使用 ping 来测试话,可以通过其 RTT 来反映其状况。RTT[(Round-Trip Time): 往返时延

3.丢包(loss):是指一个或多个数据包的数据无法通过网络传输到达目的节点。该值越大质量越差,可通过 ping, iperf 等工具实现。

4.抖动(jitter):指的是数据到达的顺序、间隔和出发时的差异;我们一般期望网络延迟能够稳定在某个区间上,如果网络延迟抖动比较大,也就说明网络质量存在一定问题。

网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础,但是由于网络设计不合理、网络存在安全漏洞等原因,都会导致网络带宽利用率不高。

要找到网络带宽利用率不高的原因,就需要对网络传输进行监控,此时就需要用到一些网络性能评估工具,而iperf就是这样一款网络带宽测试工具,本节将详细介绍一下iperf的使用。

iPerf - The ultimate speed test tool for TCP, UDP and SCTP

https://iperf.fr/iperf-download.php

网络性能测试工具—iperf3

https://mp.weixin.qq.com/s/wgk9i8A-J9u96eoo0qtzug

网络性能测试工具Iperf之使用篇

https://mp.weixin.qq.com/s/BVZGdXw9DTCz3m6XYkeLvA

每天学习一个命令:iperf 测量带宽

https://einverne.github.io/post/2017/11/iperf.html

iperf测带宽使用方法

https://codeantenna.com/a/rz7donp3OI

Azure 中使用 iPerf 进行网络带宽测试

https://docs.azure.cn/zh-cn/articles/azure-operations-guide/virtual-network/aog-virtual-network-iperf-bandwidth-test

iperf测速使用与说明

https://dilidonglong.com/2021/09/14/iperf%E6%B5%8B%E9%80%9F%E4%BD%BF%E7%94%A8%E4%B8%8E%E8%AF%B4%E6%98%8E/

网络性能测试工具 iperf 的使用

https://iswbm.com/49.html

iperf3使用方法详解

https://zhuanlan.zhihu.com/p/314727150

如何使用“iperf”测试可用网络带宽

https://www.dell.com/support/kbdoc/zh-cn/000139427/%E5%A6%82%E4%BD%95-%E4%BD%BF%E7%94%A8-iperf-%E6%B5%8B%E8%AF%95-%E5%8F%AF%E7%94%A8-%E7%BD%91%E7%BB%9C-%E5%B8%A6%E5%AE%BD

网络性能评估工具Iperf详解

https://www.cnblogs.com/wuling129/p/4795262.html

Install Iperf and Test Network Throughput,Speed/Other Statistics

https://linoxide.com/install-iperf-test-network-speed-bandwidth/

网络带宽性能及丢包率测试

https://www.testwo.com/blog/7693

评 估网络质量因素及指标:带宽、延时、抖动、丢包

https://blog.csdn.net/weixin_29464593/article/details/112571642

使用 iperf 工具测试 Linux 网络性能

在 Linux 网络设备开发过程中,我们常常需要测试网络性能指标参数,找出网络性能瓶颈,从而优化我们的软件或者硬件设计。在 Linux 环境中,我们可以使用 iperf 命令工具测试网络性能,包括网络带宽、延迟抖动和数据包丢失等参数。为了方便使用,我们还可以安装图形化界面工具 Jperf 进行测试。本文将以 Ubuntu 系统为例,介绍 iperf 和 Jperf 的使用,并完成网络性能测试。

安装工具

首先需要安装 iperf 命令工具,在 Ubuntu 系统中执行下列命令即可安装。

sudo apt install iperf

Jperf 是 iPerf 命令行图形化的 Java 程序,由于 Jperf 依赖 Java(1.5 及以上版本),因此在安装 Jperf 之前,我们还需要确保 Ubuntu 系统已经安装好了 Java 环境。你可以通过以下命令来检查是否满足要求:

$ java -version
openjdk version "11.0.13" 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.13+8-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

如果满足 Java 环境的要求,接下来我们就可以在 xjperf Google CodePage 下载当前最新的 jperf-2.0.2.zip 安装包。

打开 Shell 终端,切换到 jperf-2.0.2.zip 文件所在目录,依次执行下列命令完成解压缩等安装操作。

unzip jperf-2.0.2.zip
cd jperf-2.0.2/
chmod +x jperf.sh

执行脚本即可启动 Jperf 程序。

./jperf.sh

命令行测试

下面我们先利用命令行工具进行测试。iperf 支持测试 TCP 和 UDP 模式,不过为了测出极限带宽、时延抖动、丢包率等数据,我们通常采用 UDP 模式。

在进行测试时,首先以链路理论带宽作为数据发送速率进行测试,例如,从客户端到服务器之间的链路的理论带宽为 100Mbps,先用 -b 100M 参数进行测试,然后根据测试结果(包括实际带宽,时延抖动和丢包率),再以实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很多,重复测试几次,就能得出稳定的实际带宽。

PC 端作为 UDP 服务器端(IP 地址为 192.168.0.1):

iperf -u -s

设备端作为 UDP 客户端:

iperf -u -c 192.168.0.1 -b 1000M -t 60

其中 -u 表示 UDP 模式,-s 表示服务器端,-c 表示客户端。另外客户端这边,-b 指定发送速率,这里先用 1000Mbps 作为数据发送速率;-t 指定测试时长(单位为秒),这里的测试时间为 60 秒。

一分钟后,服务端的打印结果如下:

rudy@Latitude-3420:~$ iperf -u -s
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.1 port 5001 connected with 192.168.0.2 port 39515
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0-60.0 sec  5.92 GBytes   848 Mbits/sec   0.001 ms  336/4324695 (0.0078%)

客户端的打印结果如下:

root@bionic-arm64:~# iperf -u -c 192.168.0.1 -b 1000M -t 60                                                        
------------------------------------------------------------
Client connecting to 192.168.0.1, UDP port 5001
Sending 1470 byte datagrams, IPG target: 11.22 us (kalman adjust)
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.2 port 39515 connected with 192.168.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec  5.92 GBytes   848 Mbits/sec
[  3] Sent 4324695 datagrams
[  3] Server Report:
[  3]  0.0-60.0 sec  5.92 GBytes   848 Mbits/sec   0.000 ms  336/4324695 (0.0078%)

图形工具测试

PC 端作为服务器端,启动 Jperf 图形工具:

./jperf.sh

设置为 Server 模式,这次我们使用 TCP 模式,点击右上方的 “Run IPerf!” 按钮启动。

设备端作为 TCP 客户端:

iperf -c 192.168.0.1 -b 1000M -t 60

运行过程中,可以在 Jperf 界面看到网络带宽的测试结果,如下图所示。

总结

iperf 是一个功能强大的网络性能测试工具,可用于测试 TCP 和 UDP 带宽质量,报告带宽、延迟抖动和数据包丢失等数据。我们常常利用 iperf 工具来来测试一些网络设备的性能,PC 端和嵌入式设备端均可作为服务器端或者客户端,分别测试上行或者下行的带宽。

iperf 命令的详细用法,请参考 iperf 命令

以上是关于【iperf】网络性能评估工具iperf的安装使用的主要内容,如果未能解决你的问题,请参考以下文章

Linux网络性能评估工具iperf CHARIOT测试网络吞吐量

Linux网络性能评估工具iperf CHARIOT测试网络吞吐量

Linux网络性能评估工具iperf CHARIOT测试网络吞吐量

网络性能评估工具iperf

iperf网络新能评估

网络性能测试工具iperf的使用与参数解析