Iperf是一个网络性能测试工具。可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。Iperf在linux和windows平台均有二进制版本供自由使用。

Iperf was developed by NLANRDAST as a modern alternative for measuring maximum TCP and UDP bandwidth performance. Iperf allows the tuning of various parameters and UDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss.

Iperf使用方法与参数说明

参数说明

-s 以server模式启动,eg:iperf -s

-c host以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23

通用参数

-f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K

-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2

-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16

-m 显示tcp最大mtu值

-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o ciperflog.txt

-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999

-u 使用udp协议

-w 指定TCP窗口大小,默认是8KB

-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)

-C 兼容旧版本(当server端和client端版本不一样时使用)

-M 设定TCP数据包的最大mtu值

-N 设定TCP不延时

-V 传输ipv6数据包

server专用参数

-D 以服务方式运行iperf,eg:iperf -s -D

-R 停止iperf服务,针对-D,eg:iperf -s -R

client端专用参数

-d 同时进行双向传输测试

-n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000

-r 单独进行双向传输测试

-t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5

-F 指定需要传输的文件

-T 指定ttl值

应用实例

使用 iperf -s 命令将 Iperf 启动为 server 模式,在客户机上使用 iperf -c启动client模式。

iperf –s

------------------------------------------------------------

Server listening on TCP port 5001

TCP window size: 8.00 KByte (default)

------------------------------------------------------------

iperf -c 59.128.103.56

上面使用服务端和客户端的默认设置进行测试

iperf -s -w 300K

------------------------------------------------------------

Server listening on TCP port 5001

TCP window size: 300 KByte

------------------------------------------------------------

iperf -c 59.128.103.56 -f K -i 2 -w 300K

设定报告间隔为2秒,服务器端和客户端的TCP窗口都开到300KB

iperf -c 59.128.103.56 -f K -i 2 -w 300K –n 1000000

测试传输约1MB数据

iperf -c 59.128.103.56 -f K -i 2 -w 300K –t 36

测试持续36秒

iperf -c 59.128.103.56 -f K -i 2 -w 300K -n 10400000 –d

测试双向的传输

iperf -c 59.128.103.56 -f K -i 2 -w 300K –u

UDP测试

其中 -i 参数的含义是周期性报告的时间间隔(interval),单位为秒;在上面的例子中,表示每隔2秒报告一次带宽等信息。

启动一个iperf服务器进程

首先要介绍的命令用来启动iperf服务器监听进程以便监听客户端连接的。命令如下:

iperf.exe -s -P 2 -i 5 -p 5999 -f k

这个命令会启动iperf,后续参数用来设定监听5999 端口(默认端口是5001), 限定iperf只允许两个连接,每5秒汇报一次连接情况。连接限制参数(-P参数)非常重要,当两个连接建立后,服务器进程就会退出。如果这个参数设定为0,那么iperf 进程将持续监听端口,并且不限制连接数量。在 Windows主机上键入该命令,会显示出如图A所示界面

图 A

启动一个iperf 客户端连接

iperf 的另一半就是客户端,用来连接到服务器监听端口。比如我们要连接到一台叫做 s-network1.amcs.tld 的服务器,端口为5999,连接60 秒并且每5秒显示一次状态,命令行如下:

iperf.exe -c s-network1.amcs.tld -P 1 -i 5 -p 5999 -f B -t 60 -T 1

命令启动后,s-network1 主机被用来进行网络性能检测。与Jperf GUI 界面提供的漂亮图形不同, iperf只会根据测量参数简单的报告网络带宽状况,在本例中是以 比特为单位(-f 参数)进行带宽表示的。图B显示了远程客户端与s-network1主机间的带宽性能。

图 B

为了应对日常便捷应用的需求,我们可以建立一个 .bat批处理文件,届时填入服务器名称即可实现快速检测。以下为实际使用的拷屏:

C:\jperf\jperf\bin>iperfUsage: iperf [-s|-c host] [options]Try `iperf --help' for more information.

C:\jperf\jperf\bin>iperf --helpUsage: iperf [-s|-c host] [options]iperf [-h|--help] [-v|--version]

Client/Server:-f, --format [kmKM] format to report: Kbits, Mbits, KBytes, MBytes-i, --interval # seconds between periodic bandwidth reports-l, --len #[KM] length of buffer to read or write (default 8 KB)-m, --print_mss print TCP maximum segment size (MTU - TCP/IP header)-o, --output output the report or error message to this specified file-p, --port # server port to listen on/connect to-u, --udp use UDP rather than TCP-w, --window #[KM] TCP window size (socket buffer size)-B, --bind bind to , an interface or multicast address-C, --compatibility for use with older versions does not sent extra msgs-M, --mss # set TCP maximum segment size (MTU - 40 bytes)-N, --nodelay set TCP no delay, disabling Nagle's Algorithm-V, --IPv6Version Set the domain to IPv6

Server specific:-s, --server run in server mode-D, --daemon run the server as a daemon-R, --remove remove service in win32

Client specific:-b, --bandwidth #[KM] for UDP, bandwidth to send at in bits/sec(default 1 Mbit/sec, implies -u)-c, --client run in client mode, connecting to -d, --dualtest Do a bidirectional test simultaneously-n, --num #[KM] number of bytes to transmit (instead of -t)-r, --tradeoff Do a bidirectional test individually-t, --time # time in seconds to transmit for (default 10 secs)-F, --fileinput input the data to be transmitted from a file-I, --stdin input the data to be transmitted from stdin-L, --listenport # port to recieve bidirectional tests back on-P, --parallel # number of parallel client threads to run-T, --ttl # time-to-live, for multicast (default 1)

Miscellaneous:-h, --help print this message and quit-v, --version print version information and quit

[KM] Indicates options that support a K or M suffix for kilo- or mega-

The TCP window size option can be set by the environment variableTCP_WINDOW_SIZE. Most other options can be set by an environment variableIPERF_, such as IPERF_BANDWIDTH.

转自:http://blog.sina.com.cn/s/blog_49ab2ae20100cnig.html~type=v5_one&label=rela_prevarticle

iperf命令linux,Linux iperf 用法介绍相关推荐

  1. WinRAR的命令行模式与用法介绍

    WinRAR的命令行模式用法介绍 因工作中要对数据打包,顺便研究了下WinRAR的命令行模式,自己写了些例子,基本用法如下: 测试压缩文件准备:文件夹test_data,内部包含子文件夹,分别存放了一 ...

  2. Linux C++ STL用法介绍(1)

    STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Lee和David R Musser ...

  3. Windows2008安装组件命令行工具ServerManagerCmd用法介绍

    转自:http://blog.sina.com.cn/s/blog_537de4b5010128al.html Windows2008 安装组件服务等内容比原来复杂的多,用鼠标点来点去,既繁琐也缓慢, ...

  4. 网线传输速度测试_网络带宽和速度测试windows和linux用iperf工具

    Iperf是一个网络性能测试工具.Iperf可以测试TCP和UDP带宽质量.Iperf可以测量最大TCP带宽,具有多种参数和UDP特性.Iperf可以报告带宽,延迟抖动和数据包丢失.利用Iperf这一 ...

  5. Linux iperf 用法介绍

    转自:http://blog.sina.com.cn/s/blog_49ab2ae20100cnig.html~type=v5_one&label=rela_prevarticle Iperf ...

  6. c语言strTrimed函数用法介绍,linux type命令用法_转

    在脚本中type可用于检查命令或函数是否存在,存在返回0,表示成功:不存在返回正值,表示不成功. $ type foo >/dev/null 2>&1 || { echo > ...

  7. linux命令 删除alias,Linux下alias命令的用法介绍

    本篇文章给大家带来的内容是关于Linux下alias命令的用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 最近在使用ssh连接远程机器敲了类似ssh -i ~/.ssh/13 ...

  8. linux chown命令 例子,Linux系统之Chown命令用法介绍

    当我们要改变一个文件的属组,我们所使用的用户必须是该文件的属主而且同时是目标属组成员,或超级用户,这种情况的话,只有超级用户的才能改变文件的属主. 在Linux操作系统的美国服务器当中,Chown命令 ...

  9. Linux sed命令的用法介绍

    1. sed命令简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕. ...

  10. 使用 iperf 工具测试 Linux 网络性能

    在 Linux 网络设备开发过程中,我们常常需要测试网络性能指标参数,找出网络性能瓶颈,从而优化我们的软件或者硬件设计.在 Linux 环境中,我们可以使用 iperf 命令工具测试网络性能,包括网络 ...

最新文章

  1. 错误: (串列)对象不能强制改变成'double'解决办法
  2. c语言二叉排序树的创建与查找,C语言实现二叉查找树的插入和删除操作问题求教...
  3. 创建SM30表维护时权限组NC是什么用途?
  4. 标准库 - 输入输出处理(input and output facilities) lua
  5. 我是这样入侵 Hacking Team 的
  6. 解锁一个新技巧,让你舒服到不想起床
  7. 程序员被公司辞退12天,前领导要求回公司讲清楚代码,你们知道什么结果吗?
  8. html中的瀑布流是什么
  9. Python在SQL Server管理中的重要性
  10. 中的live_2016知乎Live精选汇编——简历类
  11. Juniper防火墙 L2TP ××× 配置
  12. 基于React和SpringBoot做一个记事本
  13. 如何更改计算机屏幕分辨率,如何修改电脑默认屏幕分辨率
  14. 注册表被禁用 (备用)
  15. oracle执行cmd的实现方法
  16. Docker安装mysql8.0并配置忽略大小写
  17. php 只取汉字,php怎么只保留汉字
  18. 每天记账,是穷人才会做的事?
  19. 通识,修 还是不修?——多选一门通识课对绩点影响几何?
  20. Tailwind Spacing

热门文章

  1. 词云中去重复的词_今天从零教你开始利用Python打造词云图!
  2. 无法定位程序输入点_Z21qRegisterResourceDataiPKhs0于动态链接库***.exe上
  3. nodeMCU(ESP8266)和RC522的接线图
  4. Go黑魔法之导出API供C调用
  5. VMware Fusion 启动物理磁盘及U盘的方法
  6. 使用Net::DNS CPAN模块模拟一个DNS CNAME应答记录
  7. ARM Linux启动分析----head-armv.S内幕
  8. vsftp服务日志不能显示中文临时解决(crontab五秒更新)
  9. linux添加Qt的fontconfig,qt – 如何在Red Hat 5.3中将fontconfig更新为更新版本?
  10. java 局部指定jdk版本_[Java教程]tomcat之一:指定tomcat运行时JDK版本