iperf(ubuntu)

iperf(ubuntu),第1张

iperf是一种命令行工具,用于通过测量服务器可以处理的最大网络吞吐量来诊断网络速度问题。它在遇到网络速度问题时特别有用,通过该工具可以确定哪个服务器无法达到最大吞吐量。

开始之前

您需要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命令传递,则将设置传出接口。

1、fast

是Netflix提供的一项服务,它不仅可以通过命令行来使用,而且可以直接在Web端使用:fast.com,我们可以通过以下命令来安装这个工具:

$ npm install --global fast-cli

不管是网页端还是命令行,它都提供了最基本的网络下载测速。命令行下最简单的使用方法如下:

$ fast

93 Mbps ↓

从以上结果可以看出,直接使用fast命令的话,将只返回网络下载速度。如果你也想获取网络的上传速度,则需要使用-u选项。

$ fast -u

⠧ 81 Mbps ↓ / 8.3 Mbps ↑

2、speedtest

是一个更加知名的工具。它是用Python写成的,可以使用apt或pip命令来安装。你可以在命令行下使用,也可以直接将其导入到你的 Python

项目,使用的时候,可以直接运行speedtest命令即可:

$ speedtest

Retrieving speedtest.net configuration...

Testing from Tencent cloud computing (140.143.139.14)...

Retrieving speedtest.net server list...

Selecting best server based on ping...

Hosted by Henan CMCC 5G (Zhengzhou) [9.69 km]: 28.288 ms

Testing download

speed................................................................................

Download: 56.20 Mbit/s

Testing upload

speed......................................................................................................

Upload: 1.03 Mbit/s

从运行结果可以看出,speedtest命令将直接提供上传/下载速率,测试的过程也是挺快的。你可以编写一个脚本来调用这个命令,然后定期进行网络测试,并在结果保存在一个文件或数据库,这样你就可以实时跟踪你的网络状态。

3、iperf

是一个网络性能测试工具,它可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。

这个工具不仅仅在Linux系统下可以用,在Mac和Windows系统同样可以使用。

如果你想测试网络带宽,则需要两台电脑。这两台电脑需要处于同样的网络,一台作为服务机,另一台作为客户机,并且二者必须都要安装

iPerf,可以通过如下命令获取服务器的IP地址:

$ ip addr show | grep inet.*brd

inet 192.168.242.128/24 brd 192.168.242.255 scope global dynamic

noprefixroute ens33

之后,我们再在服务机上启动iperf工具:

$ iperf -s

然后,我们就可以等待客户机的接入了。客户机可以使用以下命令来连上服务机:

$ iperf -c 192.168.242.128

通过几秒钟的测试,它就会返回网络传输速率及带宽。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7369486.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存