lala.im:iperf:网络带宽测试工具

運維技術·軟件/源碼·lala.im · 2018-11-30 · 123 人浏览

原文地址:https://lala.im/4497.html,請支持原作者!該處僅作轉載。

iperf是一个老牌的网络性能测试工具,一般情况下我们使用它都是用来测试带宽的,但是由于这个工具使用起来不是特别方便,因为它分为Server和Client两个部分,并且必须要两个端都结合起来才能测试,除此之外,iperf只支持从Client向Server发送数据,所以实际测试起来也比较麻烦。
虽然iperf使用起来不是很方便,比起现在的那些一键测速脚本真的要繁琐很多,但是iperf的测试结果绝对是最精准最可信的。
我总结了一个部署的小口诀,只要记住这个你就不用懂太多知识,轻轻松松也能玩转iperf:
假设你要在你的VPS测试下行就运行iperf的服务端,测试上行就运行iperf的客户端。
很好理解,下面正好我利用前两天买的阿里云香港机器做个测试。
首先,我们要安装iperf,包在EPEL扩展源里面:

yum -y install epel-release

然后就可以直接安装:

yum -y install iperf

你也可以安装iperf3,这是目前比较新的版本:

yum -y install iperf3

但本次文章我们还是使用iperf而不是iperf3,并且你需要知道的是iperf和iperf3的某些命令不通用,两个版本之间的Server/Client也有兼容问题。也就是说你必须要保证Server/Clietn版本的一致性。
现在我们先来测试VPS的下行,那么就执行下面的命令运行iperf的服务端:

iperf -s -p 2333 -i 1 -f M

参数注解:
s:启动服务端\np:指定端口号\ni:每间隔多少秒回显一次数据报告\nf:指定带宽单位
默认是测试的TCP,如果你要测试UDP则可以使用如下参数:

iperf -u -s -p 2333 -i 1 -f M

参数注解:
u:指定测试UDP协议
这样服务端就运行成功了,接下来我们需要在别的机器上部署客户端,这里我拿另外一台VPS部署了客户端,客户端的启动命令是:

iperf -c 123.123.123.123 -p 2333 -i 1 -t 60 -f M

参数注解:
c:启动客户端,并在后面填写服务端的IP地址。\np:指定端口号,需要和服务端指定的端口号一致。\ni:每间隔多少秒回显一次数据报告\nt:测试时长(单位秒)\nf:指定带宽单位
如果配置一切正常,你就可以看到测试数据了:

範例
如我之前测评的文章所说的一样,阿里云的下行都是标配100M的,这个测试数据很精准。
接下来,我们来测试上行带宽。之前说过了,测试上行,那么就要在被测试的机器内运行iperf的客户端。
所以我们直接把两台测试机器用到的命令互换一下即可,下面是测试出来的上行带宽数据:

範例
和阿里云在官网上写的一模一样,很精准,标配30M上行~
iperf的用途很多,同时也支持Win,如果你想测试你的本机到VPS的网络情况也是可以这样实现的,我懒得码字了,贴张图应该都能看懂:

範例
文章写完了,那么看完的朋友们,来说说上面这张图测试的是服务器的上行还是下行带宽呢?

運維技術 軟件/源碼 lala.im
Theme Jasmine by Kent Liao