使用iperf测试网络性能的命令教程

By | 2016年7月10日

iperf 是一款基于命令行模式的网络性能测试工具,提供横跨 windows,linux,mac 的全平台支持。除了能够测试 TCP 以及 UDP 协议的最大带宽外,还能够报告网络延迟,抖动以及丢包率。相比于老牌测试软件 IxChariot 而言,iperf 使用更方便,更容易上手。除此之外 iperf 全程使用内存作为发送/接收缓冲区,不受磁盘性能的影响,对于机器配置要求很低。不过由于是命令行工具, iperf 不支持输出测试图形。下面我们来看看如何使用 iperf 测试网络性能。

iperf 官网下载地址:https://iperf.fr/iperf-download.php

要使用 iperf 进行测试,则必须在局域网中的两台终端上启动该软件,不过 iperf 并不区分服务端与客户端,只需在启动时指定参数即可。

对于 Windows 平台而言,在使用命令提示符切换到 iperf 所在目录后,使用如下命令来启动服务端:

iperf3.exe -s

除此之外,iperf3 的服务端和客户端还有以下启动参数可供选择(#代表数字):

-p  [#]  指定通讯端口

-f  [kmgKMG]  -f后追加方括号内的参数指定显示数值的单位,例:Kbits, Mbits, KBytes, MBytes

-i  [#]  指定报告间隔,单位为秒

-F  [文件名]  指定传输测试用的文件,默认从内存随机生成数据

-B  [ip]  绑定监听特定 ip 地址,默认监听全部网卡的全部地址

-V  详细模式,输出更多细节信息

-h  显示帮助信息

以下是服务端特有的启动参数:

-s  启动服务端

-D  以服务模式运行

-1  完成一次测试后就退出服务端

以下是客户端特有的启动参数:

-c  [ip]  启动客户端,连接指定 ip 的服务端

-u  使用 UDP 协议进行测试,默认为 TCP 协议。该模式下可测量网络抖动以及丢包率

-b  [#KMG]  指定测试带宽,TCP 模式默认无上限,UDP 模式默认 1Mbps

-t  [#]  测试时长,单位为秒,默认10秒

-n  [#KMG]  测试数据量,此模式发送指定量的数据大小后停止,而不是按时间长短

-k  [#KMG]  测试数据包,此模式发送指定量的数据包后停止,-t/n/k 只可选一使用

-l  [#KMG]  指定缓冲区大小,TCP 默认为 128KB,UDP 默认为 8KB

-P  [#]  指定同时运行的进程数,主要用于无线多并发性能测试,默认为1

-R  反向发送数据包,由服务端发往客户端

-4  仅使用IPv4

-6  仅使用IPv6

-O  [#]  忽略第0-#秒的测试结果

举例来说,测试 TCP 协议下 1000M 网络的传输性能,单位设置为Mbps,报告间隔为1秒,测试时长1分钟,在服务端运行:

iperf3.exe -s

在客户端运行:

iperf3.exe -c 192.168.100.10 -b 1000m -f m -i 1 -t 60

One thought on “使用iperf测试网络性能的命令教程

发表评论

电子邮件地址不会被公开。 必填项已用*标注