iPerf 是一款支持TCP,UDP和SCTP的高速协议测试工具
网络极限性能测试+网络中立性检测
-
主页
-
下载iPerf安装包
-
公共的iPerf3服务器
-
iPerf用户手册
-
iPerf论坛—法语
-
联系我们
iPerf / iPerf3简介
iPerf3是一款用于对IP网络的最大带宽进行主动测试的工具。提供对和时间,缓冲区和多种协议(IPv4和IPv6下的TCP, UDP, SCTP )相关的多个参数的配置功能以达成不同的测试目标。 每次测试完成后,本工具可以提供带宽,丢包率和其它相关的一些网络性能参数的详细报告。iPerf3和iPerf不是同一款工具,我们在iPerf3中完全重写了全部代码,所以iPerf3不能兼容原来的iPerf。iPerf是由NLANR/DAST开发的。iPerf3 是由ESnet / Lawrence Berkeley National Laboratory开发的。iPerf3的发布遵循BSD license授权协议。
iPerf功能列表
-
TCP 和SCTP
-
测量带宽
-
报告网络侧的MSS和MTU的大小 和observed read sizes
-
支持通过设置socket缓冲区来调整TCP窗口大小
-
-
UDP
-
支持按指定带宽发送UDP的测试流数据
-
测量丢包率
-
测量网络延迟的抖动
-
支持多播
-
-
跨平台支持: Windows, Linux, Android, MacOS X, FreeBSD, OpenBSD, NetBSD, VxWorks, Solaris,...
-
客户端和服务端都支持多个并行连接 (通过-P选项参数进行设置)
-
Server 服务端能处理多个连接,可以在一个连接的测试结束后继续测试其它连接
-
在支持测试传输一定的数据量(-n或-k配置项)的基础上,增加了支持指定测试时长 (-t 配置项)的测试功能
-
支持周期性的打印即时带宽、抖动和丢包率测试报告(-i配置项)
-
支持iPerf3服务端以守护进程的方式运行 (-D配置项)
-
用典型的数据流来测试链路层压缩对带宽的影响(-F配置项)(-F选项只是把数据从文件里读出来后发送,或者是收到的数据不是丢弃而写到文件中,作者不理解这里为什么提到了link layer compression)
-
iPerf3服务端同一时间里只能接受一个iPerf3客户端的连接,而iPerf2的服务端同一时间能接受多个iPerf2客户端的连接
-
新功能: 跳过TCP慢启动(-O option).
-
新功能: 支持设置目标带宽的模式进行UDP和TCP的测试 (-b option).
-
新功能: 支持IPv6流标签 (-L option)
-
新功能: 支持设置拥塞控制算法(-C option)
-
新功能: 支持SCTP(--sctp option)
-
新功能: 支持以JSON格式输出测试报告 (-J option).
-
新功能: 支持从磁盘读取发送数据的方式进行测试
-
新功能: 支持把收到的数据写入磁盘的方式进行测试
正在访问本网站的你的主机的IP信息
-
默认IP协议版本: IPv4
-
你的公网IP地址: 124.160.72.184 (Reverse DNS: 124.160.72.184)
-
你的公网IPv6地址:你没有IPv6连接(Reverse DNS: 不可用)
邮件列表
如果你想要接收或者发送信息给所有成员,那么请通过以下链接加入并订阅iPerf用户组subscribe to Iperf-users.
如果你想知道以前的发送给所有用户列表的信息,请访问 Iperf-users Archives.
报告iPerf3的问题单
请一定要使用最新版本的iPerf3验证过,确认这不是在最新版本上已经修复了的问题后,再提交问题单。你可以通过以下链接 Issues · esnet/iperf · GitHub,来提交并跟踪问题
已知问题:
以下是主要的已知问题,有一部分用户也许会对这些问题感兴趣或者对某些用户有大的影响,这些问都已经在我们的问题单系统里录入并跟踪了。这些问题有的还是开着的状态 (当前还没有解决方案) 或者已经标明不会再去解决而关闭掉了。
-
UDP性能问题: 在ESnet 100G的测试线上,进行高UDP速率(大于10Gbps)的测试时,我们已经发现了iPerf的一些已知问题。问题是在用iPerf3进行某些测试时接收端会报告20%的丢包率,这种情况不论在客户端侧有没有设置`-b`参数都会发生。这个问题目前来看,并不是iPerf3本身的问题,而是和iPerf3跑在哪个CPU上以入从哪个网卡收包有关。有某些情况下,可以通过`-A`参数设置CPU的亲和性来解决。
-
在丢包严重的网络上周期性的打印报告的周期不准确: 当前 iPerf3的实现里,打印报告这个事情并不是用时间中断来实现的,在用大包需要发送的时候,会等到当前这个大包发送完毕后,才会去打印报告,那么在丢包严重的网络中,因为重发等原因,可能会需要花很长的时间(比如好几秒钟)才能把整个大包发送完成。这意味着报告打印周期的变化会很大,不能严格按照设定的时间间隔打印出来。我们正在讨论解决方案,在解决方案出来前,我们可以以下方式绕过这个: 发小包不要发大包,比如用`-l 4K`来限定包的大小最大为4K (Issue #125, iperf 3.1中会修复这个问题)。
-
有时候在OSX系统里,`-Z`选项有时会引发iPerf3客户端挂死(Issue #129)。
-
在Linux系统里,当我们用`-w`选项去配置TCP的滑动窗口大小时,Linux 内核会自动把这个值乘以2以补偿TCP协议头部占用的网络开销。(可以通过配置`--debug`选项看到这个问题)。 但是,网络拥塞窗口并没有真正使用这个2倍后的值,只是大约用了2倍后的值的75%。我们把具体的描述记录在tcp(7)手册中。(Issue #145)
报告iPerf2的问题单
可以通过iPerf2论坛进行,见Iperf 2 / Discussion
iperf.fr网站的问题
如果你有发现网站的问题,请发送邮件至vivien16@gueant.org 我们会尽快修复。
源代码作者
iPerf3的主要源代码作者有(按姓氏首字母排序): Jon Dugan, Seth Elliott, Bruce A. Mah, Jeff Poskanzer, Kaustubh Prabhu。以下人员对iPerf3的源代码也有贡献(按姓氏首字母排序): Mark Ashley, Aaron Brown, Aeneas Jaißle, Susant Sahani, Bruce Simpson, Brian Tierney。
iPerf3 包含了一部分iPerf2的源代码。iPerf2的源代码作者有(按姓氏首字母排序): Jon Dugan, John Estabrook, Jim Ferbuson, Andrew Gallatin, Mark Gates, Kevin Gibbs, Stephen Hemminger, Nathan Jones, Feng Qin, Gerrit Renker, Ajay Tirumala, Alex Warshavsky。
感谢iPerf1: 感谢Mark Gates (NLANR), Alex Warshavsky (NLANR) 和Justin Pietsch (University of Washington)为iPerf 1.1.x所做的工作。感谢Bill Cerveny (Internet2), Micheal Lambert (PSC), Dale Finkelson (UNL) 和 Matthew Zekauskas (Internet2) 在iPerf 1.7里引入了IPv6。感谢Matthew Zekauskas (Internet2) 引入 了FreeBSD系统上的实现。感谢Kraemer Oliver (Sony) 开发了另外一个独立的IPv6 版本的Iperf来帮忙我们对iPerf3做对比测试。
感谢ESnet从零开始重新发布了全新的iperf。iPerf是一个杀手机的应用软件。
感谢 为iPerf.fr网站提供服务器