Java教程

网络性能测试工具:iperf3

本文主要是介绍网络性能测试工具:iperf3,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

网络性能测试工具:iperf3

1. iperf3简介

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

iperf3是一种用于主动测量IP网络上可实现的最大带宽的工具。

它支持调整与时序、缓冲区和协议(TCP、UDP、带有 IPv4 和 IPv6 的 SCTP)相关的各种参数。对于每次测试,它都会报告带宽、损耗和其他参数 。这是一个新的实现,它不与原始iperf共享代码,也不向后兼容。

测试方法:

  1. 服务器端挂起 iperf3 -s 服务

  2. 客户端测试命令 iperf3 -c 服务器IP地址

  3. 分析网络带宽、网络延时,判断网络整体性能

2. iperf3测速

  • CentOS7 服务器命令:iperf3 -s

  • Windows10 客户端:iperf3.exe -c 服务器IP地址 -P 10 //客户端10路并行给服务器发送TCP包;

    上图可知:带宽是942Mbps,即当前网络是:千兆网络

  • Windows10:iperf3.exe -u -c 服务器IP地址 -b 1g //客户端给服务器发送udp数据包,最大带宽为1g

    上图可知:带宽95Mbps,延时0.677ms,丢包0%

3. iperf3旗标参数

共用参数说明

-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数据包

服务器参数说明

-D 以服务方式运行ipserf,eg:iperf -s -D
-R 停止iperf服务,针对-D,eg:iperf -s -R

客户端参数说明

-c //在客户端模式下运行
-u //使用UDP而不是TCP
--sctp //使用 SCTP 而不是 TCP(Linux、FreeBSD 和 Solaris)
-b //UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec
-t //设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒钟。
-n //要传输的字节数,通常情况,Iperf按照10秒钟发送数据。-n参数跨越此限制,按照指定次数发送指定长度的数据,而不论该操作耗费多少时间。
-k //要传输的块(数据包)数
-i //要读取或写入的缓冲区的长度。TCP 的默认值为 128 KB,UDP 的默认值为 8 KB
-r //分别进行双向测试
-P //大写字母P,要运行的并行客户端流的数量

-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值
这篇关于网络性能测试工具:iperf3的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!