一、介绍:
iperf是一个网络带宽测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。 Iperf可以报告带宽,延迟抖动和数据包丢失。利用Iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。
iperf可以分为服务端启动或者客户端访问,你可以在同一台电脑同事启动客户端和服务端测(显然这没啥叼用,我也咩试过),一般的用法是分两台分别部署服务端和客户端然后测试网络性能
二、安装
1.iperf 官网下载RPM包
官网地址:https://iperf.fr/iperf-download.php#fedora
官网已经待各种操作系统做了分类,找到自己操作系统平台,下载相应的rpm包
2.使用XFTP等工具将RPM包上传至服务器
3.安装RPM包
rpm -i iperf3-3.1.3-1.fc24.x86_64.rpm
4.检查是否安装成功
三、命令参数总结
其他相关的命令参数可以在成功安装之后 使用iperf3 -h 或者iperf3 -help查看
四、测试带宽
1.linux中启动服务端
[root@backed2 iperfTest]# iperf3 -s
出现下图Server listening 即服务端启动成功,这样就是不能干其他事,只能复制一个会话,当然你可以以后台进程方式启动,方法上面命令参数已经有了
限制带宽为2Mbps后,通过启动客户端来测试
2. windows中启动客户端来测试
其中ip地址是服务端所在主机的外网ip,-t后面20是要测试的时长,单位秒
iperf3 -c 10.165.38.150 -t 20
客户端记录:
服务端记录 :
3.调整带宽至9Mbps测试
客户端:
服务端:
由此可见,限流是好使的
4.多个客户端连接同一个服务端
此时,我以windows本机做为了服务端,两台虚机作为客户端,进行了测试(windows服务端启动后,两个虚机同时连接服务端【当然是分先后的了】),结果如下:
结果是iperf3竟然不支持多客户端向同一个服务端请求,我凑。。。。
然后又是一番百度,我发现一个脚本测带宽的文章,索性通过脚本来测试了
1.下载脚本:
英文【推荐】:
wget https://raw.githubusercontent.com/FunctionClub/ZBench/master/ZBench.sh
中文:
wget https://raw.githubusercontent.com/FunctionClub/ZBench/master/ZBench-CN.sh
2.注释掉脚本中测试国外节点的函数【否则会在测试国外节点的时候卡住】:
3.执行脚本
bash ZBench.sh
参考文章:
http://www.cnblogs.com/yingsong/p/5682080.html
https://blog.csdn.net/deepmindman/article/details/66973529
https://www.jianshu.com/p/dd6c6cc43c3c