iperf3使用

1.通用参数(适用服务端和客户端) 1.1.端口 -p //–port n

1.服务端:服务端监听的端口,默认5201端口,同时监听TCP/UDP 2.客户端:客户端去连接的端口,默认5201,如果同时有-u参数,则用UDP发起连接,如果没有,则默认使用TCP连接; 使用方式: 服务端:iperf3 -s -p 6666 //在6666端口监听 客户端:iperf3 -c 192.168.0.1 -p 6666 //去连接服务端的6666端口

1.2. 带宽显示格式 -f //–format [kmgtKMGT)

‘k’ = Kbits/sec ‘K’ = KBytes/sec ‘m’ = Mbits/sec ‘M’ = MBytes/sec 指定打印测试结果的带宽(bitrate比特率这一列)时用什么格式显示: k表示:千比特/秒, K表示:千字节/秒, m表示:兆比特/秒, M表示:兆字节/秒, g表示:吉比特/秒, G表示:吉字节/秒, t表示:兆比特/秒, T表示:太字节/秒。 客户端和服务端可以用不同的参数,各自按照各自指定的方式打印出带宽测试结果 使用方式: 服务端:iperf3 -s -f M 客户端:iperf3 -c 192.168.0.1 -f k

1.3.设置带宽打印输出周期 -i //interval n

以秒为单位,设置带宽(还有抖动,丢包等)测试报告打印输出的周期。不使用这个选项时,默认周期是1秒,可以使用0和任何0.1秒到60秒之间的参数,如果是0表示不打印周期性的报告,只在整个测试完成时,输出一次报告结果。客户端和服务端可以使用不同的参数值。 使用方式: 服务端:iperf3 -s -i 0 客户端 :iperf3 -c 192.168.0.1 -i 3.6

1.4.收发文件内容 -F //–file name

客户端:从文件中读取数据,并发送到网络里,如果不加这个选项默认系统会产生随机数据发送到网络里 服务端:把网络上收到的数据写入文件中,默认系统会丢弃收到的数据 这个功能可以支持使用iperf3来测试在文件传输时,文件存储系统的性能会不会成为瓶颈,但有时候收到的文件的长度属性内容可能和发送的文件不一至(应该 是UDP有丢包的情况下才会发生),所以我们不能把iperf3做为一个文件传输工具来使用。 使用方式: 服务端:iperf3 -s -F ./log.txt 客户端:iperf3 -c 192.168.0.1 -F ./input.txt

1.5.设置CPU亲和性 -A //–affinity n/n,m

如果系统支持则可以设置CPU亲和性(只支持Linux和FreeBSD),说白了就是在设定将iperf3进程跑在哪个CPU上。客户端和服务端都可以设置CPU亲和性,n表示CPU编号(Linux下如何查看CPU编号及其它CPU相关的信息)。 此外在客户端可以通过"-A n,m"的形式,覆盖server端的CPU亲和性设置(就是覆盖运行server端时,指定运行在哪个CPU上的设置),指定本次运行时iperf3的服务端跑在m号CPU上,但只对这一次运行生效。 注意如果用了这个参数,意味着iperf3只会在指定的CPU上运行(默认不加这个参数时,操作系统会根据当前各个CPU核的负额情况,自行调度iperf运行在哪个CPU上) 使用方式: 服务端:iperf3 -s -A 2 //指定服务端运行在2号CPU上 客户端:iperf3 -c 192.168.0.1 -A 0 //指定客户端运行在0号CPU上 或者 iperf3 -c 192.168.0.1 -A 0,3 //指定本次运行客户端运行在0号CPU上而服务端运行在2号CPU上

1.6.绑定主机地址 -B //–bind host[%]

绑定到主机,主机的一个地址。对客户端来说,这个设置数据发送从哪个接口发送。 对服务端来说,这是设置数据从哪个接口接收。这个命令只在多宿主主机(二个或者二个以上网络接口)中有用。

这里还有个[%]的选项,这个选项是可选的,功能等同于"–bind-dev " 这个选项对接口的定义很不清楚,没有讲清楚 IP接口和物理网卡接口选择时,-B与主机路由的选择关系,3.13版本对上述内容兼容,并有更新(可选参数[%]部分),详见: iperf3 --bind-dev参数详解 -B参数更新详解,以及Linux侧路由配置:Linux上添加路由,删除路由,修改路由配置(路由表项基本知识) –bind-dev 绑定到指定的网卡上,本选项是使用SO_BINDTODEVICE完成的,所以可能需要root权限(只在linux或者某此指定操作系统上可用)

1.7.输入

比丘资源网 » iperf3使用

发表回复

提供最优质的资源集合

立即查看 了解详情