【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测试网络吞吐量