QDS (Quick Deployment Series)快速的部署一个软件。这次我们来部署 Iperf 。
Iperf 是一个网络性能测试工具。Iperf 可以测试最大 TCP 和 UDP 带宽性能,具有多种参数和 UDP 特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。
下载安装
yum 安装
如果可以正常使用 yum ,那么可以使用 yum 来安装 Iperf ,该软件包在 epel 源中,需要先安装 epel 。
1 | yum install -y epel-release |
这样就安装好了 Iperf ,版本默认是 2.x 。
编译安装
如果所在机器无法正常使用 yum ,或者想要使用最新版本的 Iperf ,那么请选择编译安装,在编译前请确保该机器相关编译器已经正确安装且可以使用。
Iperf 开源在 Github,所以我们可以在 Github 上找到最新的源代码。
Github 仓库地址:https://github.com/esnet/iperf
Github 发布地址:https://github.com/esnet/iperf/releases
仓库里有最早的 2.0 (2007 年 8 月发布)到现在最新的 3.7 版本都有,我们以最新的 3.7 版本为例进行编译安装。
下载安装包并且解压
1 | wget https://github.com/esnet/iperf/archive/3.7.tar.gz |
编译
1 | cd iperf |
到这里可以暂停一下,如果你只是一次性使用,那么就不需要继续了,你只要进入到 iperf/src
目录下,该目录下有一个 iperf3
的可执行文件,直接执行该文件,就可以运行 Iperf 并且进行测试。
如果你希望以后使用更方便,那么你需要接着上边的步骤把编译好的 Iperf 安装到系统中。
1 | make install |
这样你就可以在系统的任意位置运行 Iperf ,因为已经安装到了系统中。
简单测试
因为网络测试是两个点之间的网络,所以需要在两台机器上都部署 Iperf 。
我们的测试环境如下所示
node01 :192.168.0.2 用作 Server
node02 :192.168.0.3 用作 Client
在 Server 端启动 Server 服务
1 | ./iperf3 -s |
在 Client 端启动 Client ,并且指定 Server 的 IP 地址。
1 | ./iperf3 -c 192.168.0.2 |
下面是测试过程中服务端的显示
1 | [root@node01 src]# ./iperf3 -s |
可以看到最后测试的结果是 402 Mbits/sec ,结果看 Bitrate 字段。
1 | [root@node02 src]# ./iperf3 -c 192.168.0.2 |
从客户端来看,测试结果约是 400 Mbits/sec ,结果看 Bitrate 的值。
可以使用 -P
参数指定多个进程来压测带宽,使得达到该线路的极限。
服务端显示如下所示,
1 | ^@Accepted connection from 192.168.0.3, port 36434 |
在服务端可以看到在使用 10 个进程压测以后,总带宽是 889 Mbits/sec ,已经比较接近千兆网线的物理极限了。测试结果看最后的 SUM 行,Bitrate 的值。
客户端的显示如下所示。
1 | [root@node02 src]# ./iperf3 -c 192.168.0.2 -P 10 |
看最后的测试结果,可以发现,网络带宽在 900 Mbits/sec ,其中 sender 的带宽是 920 Mbits/sec ,receiver 带宽是 889 Mbits/sec 。测试结果看 SUM 行,Bitrate 的值。
说明:
该测试只测试了 TCP 的网络带宽,更多详细的测试请关注本博客,后续会放出。
通过 Server 端和 Client 的测试结果来看,两者的结果一致,只要关注 Client 的结果即可。
附录 -help 参数
1 | [root@node01 src]$ ./iperf3 -h |
ok ,结束。
======================
由于无法及时收到评论内容,所以关闭评论功能。
大家有问题欢迎发邮件到 erdong@mail.erdong.site ,或者 https://github.com/erdong/erdong.github.io/issues 提 Issue ,我会及时回复。
======================
Erdong, A Linux user !