使用iperf测试设备的网络吞吐量

iperf简介

iperf是一个基于Client/Server的网络性能测试工具,可以测试TCP,UDP和SCTP带宽质量,能够提供网络吞吐量信息,以及震动、丢包率,最大段和最大传输单元通统计信息,帮助我们测试网络性能,定位网络瓶颈。
iperf的好处是纯粹发包和接收,不会被硬盘、Flash等读写速度测试结果。
iperf测试结果在一定程度上反应了路由器的网络性能。

iperf3.exe –c 192.168.10.1 –p 6801 –i 1 –t 30
客户端ip为192.168.10.1,相应的端口为6801,相应的时间间隔为1秒,执行30次。

iperf功能

  • TCP和SCTP
    测量带宽
    报告MSS / MTU大小和观察到的读取大小
    通过套接字缓冲区支持TCP窗口大小

  • UDP协议
    客户端可以创建指定带宽的UDP流
    测量丢包
    测量延迟抖动
    具备组播能力

  • 跨平台:Windows,Linux,Android,MacOS X,FreeBSD,OpenBSD,NetBSD,VxWorks,Solaris,…

  • 客户端和服务器可以同时具有多个连接(-P选项)

  • 服务器处理多个连接,而不是在单个测试后退出

  • 可以运行指定的时间(-t选项),而不是要传输一定数量的数据(-n或-k选项)

  • 以指定的时间间隔(-i选项)打印定期,中间带宽,抖动和损耗报告

  • 将服务器作为守护程序运行(-D选项)

  • 使用代表性的流来测试链路层压缩如何影响您可实现的带宽(-F选项)

  • 一台服务器同时接受一个客户端(iPerf3)同时接受多个客户端(iPerf2)

  • 新增功能:忽略TCP慢启动(-O选项)

  • 新增:设置UDP和(新)TCP的目标带宽(-b选项)

  • 新增:设置IPv6流标签(-L选项)

  • 新增:设置拥塞控制算法(-C选项)

  • 新增功能:使用SCTP而不是TCP(-sctp选项)

  • 新增:以JSON格式输出(-J选项)

  • 新增:磁盘读取测试(服务器:iperf3 -s

  • 客户端:iperf3 -c testhost -i1 -F文件名)

  • 新增:磁盘写测试(服务器:iperf3 -s -F文件名/客户端:iperf3 -c testhost -i1)

iperf下载地址

1.官网
https://iperf.fr/iperf-download.php
2.windows 64位
https://iperf.fr/download/windows/iperf-3.1.3-win64.zip
3.ubuntu
sudo apt-get install iperf3
4.iperf源码
https://github.com/esnet/iperf
5.iperf下载链接
链接地址:https://iperf.fr/iperf-download.php#fedora

安装使用
需要注意的是iperf和tcpcopy不同,只需要服务端和客户端

tar zxvf iperf-3.0b5.tar.gz
cd iperf-3.0b5
./configure
make && make install

此时就可以使用iperf命令了
1)在服务端

iperf3 -s -p 9001                    ##由于公司端口限制,这里指定端接口为9001

执行以上命令后,服务端就可以和客户端建立连接

2)在客户端

iperf3 -c ip -b 2300M -n 5G -p 9001               
##-c        表示指定服务器ip
##-b        表示指定带宽
##-n        表示文件大小
##-p        表示端口
如上代码段,这样即可与指定ip建立连接

结果分析
使用iperf测试设备的网络吞吐量_第1张图片

从上图可以看出
测试的时间间隔为18.71s,下载的文件大小为5G,测试出的带宽为2.30G/s。
更多的参数可以使用以下指令查看

使用iperf测试设备的网络吞吐量_第2张图片
iperf参数

iperf3 –h
常用参数
-s:服务器
-c:用户端+服务端的ip
-p:端口号
-i:时间间隔
-t:测试次数

你可能感兴趣的:(iperf,测试工具,tcp/ip,windows)