开始之前
您需要root权限具有sudo权限的用户帐户。
update 系统源
安装iperf
该iperf软件包在大多数Linux发行版的存储库中
Debian和Ubuntu安装
CentOS 安装
CentOS存储库没有iperf,使用EPEL存储库,它是用于在Redhat系统上安装第三方软件包的存储库
如何使用iperf
必须在测试的两台计算机上同时安装iPerf。如果在个人计算机上使用基于Unix或 Linux的操作系统,则可以在本地计算机上安装iPerf。
但是,如果要测试网络提供商的吞吐量,最好使用另一台服务器作为终点,因为本地ISP可能会施加影响测试结果的网络限制。
TCP客户端和服务器
iperf需要两个系统,因为一个系统必须充当服务端,另外一个系统充当客户端,客户端连接到需要测试速度的服务端
1.在需要测试的电脑上,以服务器模式启动iperf
iperf -s
可以看到类似于下图的输出
2.在第二台电脑上,以客户端模式启动iperf连接到第一台电脑,替换198.51.100.5为地台电脑的ip地址
3.这时可以在第一步中的服务端终端看到连接和结果,类似下图
4.要停止iperf服务进程,请按CTRL+c.
UDP客户端和服务器
使用iperf,还可以测试通过UDP连接实现的最大吞吐量
1.启动UDP iperf服务
2.将客户端连接到iperf UDP服务器,替换198.51.100.5为服务端ip地址
1.05Mbits/sec远低于TCP测试中观察到的值,它也远远低于1GB 的最大出站贷款上限,这是因为默认情况下,iperf讲UDP客户端的贷款限制为每秒1Mbit。
3.可以用-b标志更改此值,讲数字替换为要测试的最大带宽速率。如果需要测试网络速度,可以将数字设置为高于网络提供商提供的最大带宽上线:
iperf -c 198.51.100.5 -u -b 1000m
这将告诉客户端我们希望尽可能达到每秒1000Mbits的最大值,该-b标志仅在使用UDP连接时有效,因为iperf未在TCP客户端上设置带宽限制。
通过上面可以发现这次测试结果相当高。
双向测试
-在某些情况下,可能希望测试两台服务器以获得最大吞吐量。使用iperf提供的内置双向测试功能可以轻松完成此测试。
要测试两个连接,从客户端运行一下命令,替换ip为服务端ip地址
iperf -c 198.51.100.5 -d
结果是iperf将在客户端服务器上启动服务器和客客户端(198.51.100.6)连接。完成此操作后,iperf会将iperf服务器连接到客户端,该连接现在既充当服务器连接又充当客户端连接。
在服务器是哪个,可以看到:
选项
选项 描述
-F 更改运行测试的格式。例如,您可以使用-f k以每秒Kbits而不是每秒Mbits的速度获得结果。有效选项包括m(Mbits,默认),k(Kbits),K(KBytes)和M(MBytes)。
-V 强制iPerf使用IPv6而不是IPv4。
-i 更改带宽测试之间的间隔。例如,-i 60将每60秒生成一个新的带宽报告。默认值为零,执行一次带宽测试。
-p 更改端口。未指定时,默认端口为5001.您必须在客户端和服务器上都使用此标志。
-B 将iPerf绑定到特定的接口或地址。如果通过server命令传递,则将设置传入接口。如果通过client命令传递,则将设置传出接口。
网络平台搭建好了,服务器买好了,如何验证网络的吞吐量、时延、丢包率能够满足设计需求呢?如何确认购买的服务器能够满足日后的应用需求呢?可以使用fluk这样的测试仪,但是fluk价格动辄就是上万、几十万。有没有一款小巧的工具可以完成这个功能呢?这篇文章介绍一个开源的软件,iperf。惯例,下面一张思维导图是这篇文章的主要内容。
1 什么是iperf
iperf是一款开源的网络性能测试工具,可以用来测试网络性能以及服务器的性能。
iperf可以测试网络的吞吐量、丢包率、时延、抖动等性能参数,测试的结果可以用来检验网络建设是否合理,是否能够满足业务需求。
iperf支持windows和linux,linux可以发挥iperf的最大性能,windows版本是后期移植的,建议使用linux版本。LInux的最新版本是3.0,windows的最新版本是1.7.
windows平台上有图形化的iperf,名称为jperf。
下图是iperf的官网,还好,国内可以访问。
2 iperf能做什么事
iperf主要是用来测试网络性能的,也可以用来测试服务器的的性能、比如吞吐量、时延、丢包率、抖动等性能参数。可以发送TCP包和UDP包,主要功能如下所示
TCP
测量网络带宽
报告MSS/MTU值的大小和观测值
支持TCP窗口值通过套接字缓冲
当P线程或Win32线程可用时,支持多线程。客户端与服务端支持同时多重连接
UDP
客户端可以创建指定带宽的UDP流
测量丢包
测量延迟
支持多播
当P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows)
3 iperf如何安装
windows的安装
下载即可,绿色的,不需要安装,解压之后有两个文件
linux的安装
./configure
make
make install
4 iperf如何使用
4.1 TCP性能测试
服务器端命令:iperf3 -s
客户端命令:iperf3 -c 192.168.1.5 -b 200M
测试结果:
从图中可以看出测试的吞吐量、丢包率等参数。
4.2 UDP性能测试
带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时
step1:以链路理论带宽作为数据发送速率进行测试,例如,从客户端到服务器之间的链路的理论带宽为100Mbps,先用-b 100M进行测试
step2:根据测试结果(包括实际带宽,时延抖动和丢包率),再以实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很多,重复测试几次,就能得出稳定的实际带宽。
服务端命令:iperf3 -s
客户端命令:iperf3 -u -c 192.168.1.5 -b 200M
测试结果:
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)