C:\Users\Administrator>iperf3
iperf3: parameter error - must either be a client (-c) or server (-s) Usage: iperf [-s|-c host] [options]
iperf [-h|--help] [-v|--version] Server or Client:
-p, --port # server port to listen on/connect to
-f, --format [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes
-i, --interval # seconds between periodic bandwidth reports
-F, --file name xmit/recv the specified file
-B, --bind <host> bind to a specific interface
-V, --verbose more detailed output
-J, --json output in JSON format
--logfile f send output to a log file
-d, --debug emit debugging output
-v, --version show version information and quit
-h, --help show this message and quit
Server specific:
-s, --server run in server mode
-D, --daemon run the server as a daemon
-I, --pidfile file write PID file
-, --one-off handle one client connection then exit
Client specific:
-c, --client <host> run in client mode, connecting to <host>
-u, --udp use UDP rather than TCP
-b, --bandwidth #[KMG][/#] target bandwidth in bits/sec ( for unlimited)
(default Mbit/sec for UDP, unlimited for TCP)
(optional slash and packet count for burst mode)
-t, --time # time in seconds to transmit for (default secs)
-n, --bytes #[KMG] number of bytes to transmit (instead of -t)
-k, --blockcount #[KMG] number of blocks (packets) to transmit (instead of -
t or -n)
-l, --len #[KMG] length of buffer to read or write
(default KB for TCP, KB for UDP)
--cport <port> bind to a specific client port (TCP and UDP, default
: ephemeral port)
-P, --parallel # number of parallel client streams to run
-R, --reverse run in reverse mode (server sends, client receives)
-w, --window #[KMG] set window size / socket buffer size
-M, --set-mss # set TCP/SCTP maximum segment size (MTU - bytes)
-N, --no-delay set TCP/SCTP no delay, disabling Nagle's Algorithm
-, --version4 only use IPv4
-, --version6 only use IPv6
-S, --tos N set the IP 'type of service'
-Z, --zerocopy use a 'zero copy' method of sending data
-O, --omit N omit the first n seconds
-T, --title str prefix every output line with this string
--get-server-output get results from server
--udp-counters-64bit use -bit counters in UDP test packets [KMG] indicates options that support a K/M/G suffix for kilo-, mega-, or giga- iperf3 homepage at: http://software.es.net/iperf/
Report bugs to: https://github.com/esnet/iperf

最近在做监控视频系统建设和运维相关工作,其中有队友提出缺乏对网络线路带宽和质量的检查和监控手段。作为从业20多年的“资深”工程师,怎么能受得了“没办法”这样的结论呢,于是淡然推出iPerf3这个小工具。

iPerf3是用于主动侦测IP网络上最大可实现带宽的工具。它支持时序、缓冲区、协议(TCP,UDP,SCTP与IPv4和IPv6)有关的各种参数。对于每个测试,它都会报告带宽,丢包和其他参数。

iPerf3与原始iPerf不共享代码,也不向后兼容。iPerf最初由NLANR / DAST开发。iPerf3主要由ESnet/Lawrence Berkeley国家实验室开发。iPerf3采用新版BSD许可(BSD 3-clause License)。

iPerf3的官方网站:http://software.es.net/iperf/index.html
iPerf3的Github网站:https://github.com/esnet/iperf
iPerf3 v3.1.3等已编译版本的下载网站:https://iperf.fr/iperf-download.php

 

因为这个监控视频系统建设和运维相关的项目主要是Windows平台,下面的介绍以iPerf3 v3.1.3 Windows 64bits版本为例。

1、安装

将下载得到的“iperf-3.1.3-win64.zip”文件解压缩,得到“iperf3.exe”和“cygwin1.dll”两个文件。将这两个文件复制到“%systemroot%”(大多数Windows版本都是“Windows”这个文件夹,之所以用“%systemroot%”指代,是因为大家的“Windows”文件夹不一定都在“C”盘)文件夹的“System32”文件夹里,如果有权限相关的提示出现,都选择“允许”之类的。

2、使用

完整的使用请参考官方文档网站:https://iperf.fr/iperf-doc.php

重要的内容说三遍:服务器端和客户端的命令行窗口都要以管理员身份运行!
重要的内容说三遍:服务器端和客户端的命令行窗口都要以管理员身份运行!
重要的内容说三遍:服务器端和客户端的命令行窗口都要以管理员身份运行!

 
服务器端和客户端的命令行窗口都要以管理员身份运行!

服务器端命令行(其中,-s表示服务器端;-p定义端口号;-i设置每次报告之间的时间间隔,单位为秒,如果设置为非零值,就会按照此时间间隔输出测试报告,默认值为零):

iperf3 -s -p 12345 -i 1

客户端命令行(其中,-c表示服务器的IP地址;-p表示服务器的端口号;-i设置每次报告之间的时间间隔,单位为秒,如果设置为非零值,就会按照此时间间隔输出测试报告,默认值为零;-t设置传输的总时间,Iperf在指定的时间内,重复的发送指定长度的数据包,默认是10秒钟;-w设置套接字缓冲区为指定大小,对于TCP方式,此设置为TCP窗口大小,对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值):

iperf3 -c 192.168.88.248 -p 12345 -i 1 -t 10 -w 100K

 
客户端的执行结果

说明:我的测试环境是1000Mbps局域网,从上面的截图可以看到发送和接收的平均带宽是813Mbps,损失的部分带宽可能是被IP包的控制信息等占用了。

作者:开源大熊
链接:https://www.jianshu.com/p/074c8c51d3d9
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

bat 批处理测试局域网速度 两端电脑的更多相关文章

  1. 批处理测试局域网网络连通性ping1-255

    for /l %%1 in (1 1 255)do ping /n 1 192.168.1.%%1       ##bat下 运行 for /l %i in (1,1,254) do ping -n ...

  2. 批处理 bat 查询局域网内在线电脑IP

    查看自己局域网的IP和物理网卡地址可以在 WIN+R –> 打开cmd 键入 arp -a 可以看到局域网中所有的在线IP COLOR 0A CLS @ECHO Off Title 查询局域网内 ...

  3. js/bat批处理调用谷歌浏览器chrome批量打开网页测试web性能

    批处理批量打开网页 其实用java就可以搞定,但是这么一个轻巧的测试,js或者bat批处理去一次性打开几百个网页测试一下页面没必要上java 两者的区别,js的话,只能打开多个浏览器实例,不方便查看效 ...

  4. .bat批处理命令的介绍

    HUC = = D组 http://www.cnhonkerarmy.com/ 63707869 =====================================开始============ ...

  5. 【工作笔记】BAT批处理学习笔记与示例

    BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...

  6. 如何用bat批处理编译swf项目

    平时用FB等IDE编译多模块的游戏项目时,除了添加移除模块的操作很繁琐外,编译速度也非常之慢.而用bat来编译swf项目,速度非常快,稳定. 在此分享自己工作用的bat,每次运行会重新编译主模块Gam ...

  7. BAT批处理(二)

    在前一篇中已对BAT批处理基础作了一些总结,但是对于BAT批处理还有很多的知识点没有讲解到,比如DOS中的特殊符号:IF.FOR的使用:变量:更多的DOS命令等等.本文在前一篇的基础上继续对BAT批处 ...

  8. 怎么查询局域网内全部电脑IP和mac地址等信息?

    在局域网内查询在线主机的IP一般比较简单,但局域网内全部电脑的IP怎么才能够查到呢?查询到IP后我还要知道对方的一些详细信息(如MAC地址.电脑名称等)该怎么查询呢??? 工具/原料 Windows ...

  9. 怎么查询局域网内全部电脑IP和mac地址..

    在局域网内查询在线主机的IP一般比较简单,但局域网内全部电脑的IP怎么才能够查到呢?查询到IP后我还要知道对方的一些详细信息(如MAC地址.电脑名称等)该怎么查询呢??? 工具/原料 Windows ...

随机推荐

  1. 关于数组array的一些误区

    $arr1 = array(1,2,3,4); $arr2 = array(5,6,7,8,9,10); var_dump ( $arr1 + $arr2);    //输出数组形式的(1,2,3,4 ...

  2. Robot Framework基础学习(一)

    Robot Framework语法学习: 一.变量的声明.赋值与使用 1.变量标识符:每个变量都可以用  变量标识符 ${变量名} 来表示. 2.变量声明:可以在TestSuite上点右键或者在Edi ...

  3. Volley(一)

    为什么使用Volley Android提供了两个HTTP库给开发者来进行实现一个HTTP请求,一个是AndroidHttpClient (从apache HttpClient拓展而来),另一个是Htt ...

  4. Flutter实战视频-移动电商-30.列表页_商品列表UI界面布局

    30.列表页_商品列表UI界面布局 小程序里面的布局方式 小程序的图片上这里使用的是warp布局,因为首页里面火爆专区,已经用过了warp来布局了. 所以这里我们没有必要再讲一遍,这里我们使用List ...

  5. MyEclipse10.0安装SVN的三种方法

    最简单的一种: 首先下载zip包(svn:http://subclipse.tigris.org) 1.直接在MyEclipse10安装目录下的dropins文件夹下新建一个svn文件夹 2.把解压出 ...

  6. 使用fastadmin的页面异常模板

    1.效果图 2.修改tp异常页面的模板文件( /thinkphp/tpl/think_exception.tpl ),将文件中的内容全部替换成下面的内容然后保存即可(若发生报错,请注意语言包问题) & ...

  7. Lightoj 1147【DP】

    题意: 把n个人分成两部分,要你怎么分使得两部分尽可能相等: 思路: 如果我们把一部分人的重量达到离sum/2最近,那就一定行啊 其实就是一条棒,两种不同的棒去拼接成一条棒,然后最好就是离mid最近, ...

  8. C/C++函数调用过程分析

    http://www.cnblogs.com/biyeymyhjob/archive/2012/07/20/2601204.html 这里以一个简单的C语言代码为例,来分析函数调用过程 代码: #in ...

  9. BZOJ3224普通平衡树

    洛谷题面链接 很早就过了,太久没打了,原本是在noip前用来练emacs的手感的. noip炸了,就滚回来更博客了(安排的计数任务刷不动,学不会容斥,打发时间...) 众所周知,splay是个好算法, ...

  10. C - Brackets

    #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> ...