关于iperf的使用

iperf是一款测试网络性能的工具,在运维工作中可能要经常用到

一、安装

  windows下:去官网(https://iperf.fr/iperf-download.php)下载iperf,然后解压,将iperf.exe和cygwin1.dll放在%systemroot%目录下(%systemroot%为计算机根目录,一般为C:windows下,也可在命令行执行echo %systemroot%查看),即可直接在dos中运行,iperf -help可查看iperf相关命令

注意:解压后的文件可能是iperf3.exe,此时在命令行中需执行iperf3;或者直接将iperf3.exe改名为iperf.exe。

  linux下: yum install iperf 即可,命令行输入iperf -help观察是否安装成功(如果安装失败,可安装rmp包)

  (考虑到tcp协议的检测不能限速,怕对线上机器造成影响,因此放弃使用iperf)

      (因为iperf版本的不同,强烈建议安装完成后用iperf --help查看iperf相关参数)

二、iperf使用(整合网上资源)(http://blog.csdn.net/zm_21/article/details/25868589)

参数说明

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

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

通用参数 

-f [k|m|K|M] 分别表示以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 c:iperflog.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 以服务方式运行ipserf,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值 

操作举例:

1)TCP测试 

      服务器执行:#iperf -s -i 1 -w 1M

      客户端执行:#iperf -c host -i 1 -w 1M  其中-w表示TCP window size,host需替换成服 务器地址。 

2)UDP测试 

      服务器执行:#iperf -u -s 

      客户端执行:#iperf -u -c 10.32.0.254 -b 900M  -i 1  -w 1M  -t 60 

      其中-b表示 使用带宽数量,千兆链路使用90%容量进行测试就可以了。  

几个命令参数: 

#iperf -c 10.1.1.1        //客户端命令 

#iperf -s                      //服务端命令

-f [b|B|k|K|m|M|g|G]  //f参数表示单位 

-r                             //r参数表示双向数据测试,但要先测c到s的带宽 

-d                             //d参数和r近似,并且功能更强,可同时测试双向数据

-w [2000]                  //w参数后跟数字,单位是byte,

-p [12000]                  //p参数可指定端口号 

-t [20]                       //t参数默认表示测试10次,后加数字可以自己定义

-i [2]                         //i参数表示测试开始到结束的间隔时间,单位s

-u -b 10m                   //udp 10mbps 测试

-m                             //最大mpu测试

-P                              //并行测试

-h                              //帮助   

原文地址:https://www.cnblogs.com/liushi-Oscar/p/8184514.html