安装Iperf并测试网络吞吐量,速度/其他统计信息

时间:2020-03-05 15:27:56  来源:igfitidea点击:

Iperf是一种网络测试工具,可以创建TCP和UDP数据连接并测量承载它们的网络的吞吐量。
它支持调整与时序,协议和缓冲区有关的各种参数。
对于每个测试,它都会报告带宽,损耗和其他参数。

当前版本(有时称为iperf3)是对NLANR/DAST开发的原始版本的重新设计。
iperf3是从头开始的新实现,其目标是使代码库更小,更简单,并提供可在其他程序中使用的功能的库版本。
它主要在CentOS Linux,FreeBSD和MacOS X上开发,但在其他Linux发行版上也能很好地工作。

安装Iperf

我们可以使用wget从http://downloads.es.net/pub/iperf获得最新版本的iperf3,并用tar提取它。

# wget http://downloads.es.net/pub/iperf/iperf-3.0.6.tar.gz
# tar zxvf iperf-3.0.6.tar.gz

然后,我们只需要配置它并像这样编译它:

# cd iperf-3.0.6
# ./configure
# make
# make install

现在,我们应该在系统上安装了iperf3.

如何使用iperf3

要使用iperf测试网络的性能,我们将需要两台计算机,其中一台将充当服务器,一台将充当客户端,这将测试2台主机之间的网段。

以最简单的形式,我们可以在将充当服务器的一台计算机上以-s身份以root身份运行iperf3,它将打开端口并等待来自客户端的连接。
请检查防火墙或者iptables,并确保不会以任何方式阻止打开iperf3服务器的端口。
输出应如下所示:

然后,在与服务器连接到同一网络的第二台计算机上,我们可以通过运行-c开关和服务器的IP地址来执行基本测试。
输出将如下所示:

从此输出中可以看到,通过TCP可以达到80MBits/sec的速度。

使用客户端,我们可以使用不同的标志来测试各种网络方案,可以使用-P标志来测试与服务器的一些并行连接,如下所示:

# iperf3 -c 192.168.1.1 -P 5

输出将如下所示:

这将向我们显示当来自客户端的更多应用程序连接到服务器时会发生什么。

我们可以使用-u标志来测试UDP协议的性能,如下所示:

# iperf3 -c 192.168.1.1 -u

并且输出应如下所示:

如我们所见,输出中出现了2个新字段,“抖动女巫”显示已发送数据包的延迟,“丢失/总图”巫师显示从发送的数据包数量中丢失的数据包总数。

其他有用的标志:

-b,--bandwidth n [KM]将目标带宽设置为n位/秒(对于UDP默认为1 Mbit /秒,对于TCP为无限制)。

-t,--time n传输的时间(以秒为单位)(默认10秒)
-n,--bytes n [KM]要传输的字节数(而不是-t)
-k,--blockcount n [KM]要传输的块(数据包)数(而不是-t或者-n)
-l,--length n [KM]要读取或者写入的缓冲区的长度(TCP的默认值为128 KB,UDP的默认值为8KB)
-R,--reverse以反向模式运行(服务器发送,客户端接收)

当我们要测试客户端和服务器之间的特定方案时,此标志主要有用。

iperf3是一个小型但有用的工具,可以快速安装在客户端和服务器上以测试各种网络方面和应用程序。