摘要:简介 网络性能评估主要是监控网络带宽使用情况。 最大化网络带宽利用率是保证网络性能的基石。 但由于网络设计不合理或网络安全存在漏洞,导致网络带宽利用率下降。 价格不贵。
简介
评估网络性能主要是监控网络带宽使用情况。 最大化网络带宽利用率是保证网络性能的基石。 然而,由于网络设计不合理或者网络安全存在漏洞,也可能会出现网络故障。 带宽使用率不高。 要找出网络带宽使用率低的原因,您需要监控网络传输。 这时就应该使用几种网络性能评估工具。 Iperf 就是这样一种网络带宽测试工具。 Iperf是一款基于TCP/IP和UDP/IP的网络性能测试工具。 它可以用来测量网络带宽和网络质量,还可以提供网络延迟抖动、丢包率、最大传输单元等统计数据。 网络管理员可以利用这些信息来了解和识别网络性能问题,从而识别网络瓶颈并解决网络故障。 下面介绍Iperf的主要特点。
TCP:
测试网络带宽。 支持客户端和服务器上的多线程和多个连接。 报告 MSS/MTU 值的大小。 它支持自定义 TCP 窗口值,并且可以通过套接字进行缓冲。
UDP:
可以设置指定带宽的UDP数据流来测试网络抖动值和丢包情况。 支持组播测试。 支持多线程,并在客户端和服务器上支持多个连接。 安装和使用 Iperf
Iperf 可以在任何 IP 网络上运行,包括本地以太网、互联网接入、Wi-Fi 网络等。 在工作模式下,iperf运行在服务器和客户端模式。 服务器端主要用于监控传入的测试请求,客户端主要用于发起连接会话。 因此,需要两台服务器才能使用iperf。,一个运行在服务器模式,另一个运行在客户端模式。 iperf 支持多种操作系统平台,包括 Win32、Linux、FreeBSD、MacOS X、OpenBSD 和 Solaris。 读者可以从iperf官方主页上的链接下载各个版本。 最新版本是iperf3.1.3。 下载后解压并放到指定路径即可。 接下来,将参数导入cmd并运行iperf。
iperf 参数总结
安装 iperf 后,运行“iperf3 –h”即可查看如何使用 iperf 的详细说明。
D:/Program Files/iperf-3.1.3-win64>iperf3 -h用法:iperf [-s|-c 主机] [选项] iperf [-h |--help] [-v|--version]服务器或客户端: -p, --port # 用于侦听/连接到 - 的服务器端口]f, --format [kmgKMG] 报告格式:Kbits、Mbits、KBytes、MBytes -i, -- 定期带宽报告之间的间隔 # 秒 -F , - - filename xmit/recv 指定文件 -B, --bind 绑定到特定接口 -V, --verbose more 详细输出 -J, --json 以 JSON 格式输出 --logfile f 将输出发送到日志文件 -d, --debug 输出调试输出 [ k4 ] v, --version 显示版本信息并退出。 -h, --help 显示此消息并退出。 服务器特定:-s, --server 在服务器上运行。 模式 -D, -- 守护进程 将服务器作为守护进程运行 -I, --pidfile 写入文件 PID 文件 -1, --one- 关闭句柄一个客户端连接,然后退出客户端特定: -c, --client 在客户端模式下运行并连接到 -u, --udp 。 使用 UDP 代替 TCP -b , --bandwidth #[KMG][/#] 目标带宽(位/秒)c(0 表示无限制)(UDP 默认为 1 Mbit/s,TCP 为无限制)(突发模式的可选斜线和数据包计数) -t, --time # 发送时间(以秒为单位)(默认 10 秒) -n, --bytes #[KMG] 要发送的字节数(而不是 -t) -k, [k4 ]-blockcount #[KMG] 数量要发送的块(数据包)数量(而不是 -t 或 -n) -l, --len #[KMG] 读或写缓冲区长度(TCP 默认 128 KB,8 KB for UDP) --cport 绑定到特定的客户端端口(TCP 和 UDP,默认:临时端口) -P, -[ k4]Parallel # 要运行的并行客户端流的数量 - R ,用 --reve 向后运行rse 模式(服务器发送,客户端接收) -w, --window #[KMG] 设置窗口大小/套接字缓冲区大小 -M, --set-mss # 设置TCP/SCTP 最大分段大小(MTU - 40 字节) -N, --no- 延迟设置 TCP/SCTP 无延迟,禁用 Nagle 算法 -4, [ k4] [k4 ]version4 仅使用 IPv4 -6,--version6 仅使用 IPv6 -S,--tos N 设置“type”-Z,--zerocopy 使用数据传输的“零拷贝”方法 -O, --omit N 省略前 n 秒 -T, --title str 每个输出行的前缀 在这个字符串中 -[ k4]get-server-output 从服务器获取结果 -- udp-counters-64bit use 64-bit counteUDP 测试数据包 [KMG] 中的 rs 表示支持 kilo-、mega- 或 giga-iperf3 主页的 K/M/G 后缀的选项:http://software.es net。 /iperf /Report bugs to: https://github.com/esnet/iperf
iperf的命令参数包括客户端和服务器之间的通用参数、服务器特定参数、客户端特定参数分为三类。 使用的选项。
客户端与服务端常用参数 -p, --port #
设置端口与服务端监听端口相匹配。 默认端口为 5001,与 ttcp 相同。
-f, --格式[kmgKMG]
费率显示单位。 分别以 Kbits、Mbits、Gbits、KBytes、MBytes 和 GBytes 表示,默认单位为 Mbits。 示例: iperf -c 222.35.11.23 -f K
-i, -[k4 ]interval #
设置每个报告之间的时间间隔(以秒为单位)。 如果设置为非零值,则将按此时间间隔打印测试报告。 默认值为零。
-F, --文件名
指定要传输的文件。
示例:iperf -c -F -B, --bind
绑定到主机上的多个地址之一(对于具有多个网络端口的设备)的)。 对于客户端,该参数配置弹出界面。 在服务器端,该参数配置推送接口。 该参数仅适用于具有多个网络接口的主机。 在Iperf的UDP模式下,该参数用于绑定和加入组播组。 使用范围 224.0.0.0 到 2多播地址 39.255.255.255。 - 参见 T 参数。
-V, --verbose
输出更详细的信息。
-J, --json
以 JSON 格式输出。
–logfile f
将输出信息保存到日志文件中。
-d, --debug
调试信息的输出。
-v, --version
显示版本信息。
-h, --help
显示帮助信息。 打印所有 iperf 参数的格式和描述。
服务器端特殊参数 -s, --server
以服务器模式运行。
-D, --daemon
将服务器作为守护进程运行。
-I, --pidfile file
写入PID文件。
-1, --one-off
处理客户端连接并退出。
客户端特定参数 -c, --client
以客户端模式运行,连接
-u, --udp
使用 TCP这不是UDP。
-b, --bandwidth #[KMG][/#]
带宽,单位为比特/秒(设置值为 0 表示无限制) UDP 默认为 1 Mbit/s ,TCP默认无限制。
-t, --time #
设置传输总时间。 Iperf在指定时间内重复发送指定长度的数据包。 默认值为 10 秒。
-n, --bytes #[KMG]
指定要传输的字节总数。 (无论配置的总传输时间如何,传输直到完成才会停止) 字节数发送 es(而不是 -t)示例:
iperf3 -c 222.35.11.23 -n 100000 -k, --blockcount #[KMG]
总计发送的数据包数量。 要发送的块(数据包)数量(无论 -t 或 -n 参数如何)(而不是 -t 或 -n)
-l, -[ k4] len #[KMG]
读写缓冲区大小。 TCP 的默认值是 128KB,UDP 的默认值是 8KB。 示例:
iperf3 -c 222.35.11.23 -l 16 –cport
绑定到特定客户端端口(TCP 和 UDP,默认:临时端口)。
-P, [ k4]-并行 #
线程数。 指定客户端和服务器之间使用的线程数。 默认为 1 个线程。 该参数必须在客户端和服务器上使用。
-R,--reverse
以反向模式运行。 (服务器发送数据,客户端接收数据。)
-w, --window #[KMG]
设置窗口大小。 设置窗口大小/套接字缓冲区大小
-M, --set-mss #
设置 TCP/SCTP 最大分段大小(MTU - 40 字节)
-N, --no-lay
将 TCP/SCTP 配置为无延迟。 将 TCP/SCTP 设置为无延迟并禁用 Nagle 的 A.算法
-4, --version4
仅使用 IPv4。
-6、--version6
仅使用 IPv6。
-S, --tos N
设置 IP“服务类型”
-Z, --zerocopy
' 使用“零” copy”数据传输方式
-O, --省略N
省略前n秒
-T, -[ k4]title str
添加将此字符串添加到每个输出行的开头。
–get-server-output
从服务器获取结果
–udp-counters-64bit
UDP 测试数据包中的 64- 位 使用计数器
示例1 TCP模式
Server:
iperf -s -i 1 //配置为服务器,速率上报间隔为1秒
Client: 单线程上行:
p> iperf -c 220.180.239.212 -p 8009 -i 1 -t 20
//测试对应IP和端口的TCP 20秒,打印每秒吞吐量
多线程上行:
iperf -c 220.180.239.212 -p 8009 -i 1 -t 20 -P 2/3/4/… UDP模式
Server:
iperf -s -u
Client: //单线程上行
iperf -c 220.180.239.212 -p 8010 -b 100M -i 1 -t 20
// 使用100M带宽测试指定IP和端口20秒,每秒上报数据。 多线程上行速率:
iperf -c 220.180.239.212 -p 8010 -b 100M -i 1 -t 20 -P 2/3/4/… 示例 2 TCP模式:
服务器:
iperf3 -s -p 5600
客户端示例:单-线程上行链路:
iperf3 -c 220.180 -p。 5600 -i 1 -t 20
多 - 线程上行链路:
iperf3 -c 220.180.239.212 -p 5600 -i 1 [ k4]t 20 [k4 ]P 4 // 建议使用多-线程
单-线程下行:
iperf3 -c 220.180.239.212 -p 5600 [k4 ]I 1 - t 20 -R UDP 模式:
服务器:
iperf3 -s -p 5600
客户端示例:单 - 线程上行链路:
iperf3 -u -c 220.180.239.212 -p 5600 -b 100M -i 1 -t 20
多 - 线程下行链路:
iperf3 -u -c 220.180.239.212 -p 5600 -b 100M -i 1 -t 20 -P 4 -R 示例 3 iperf3 -u [k4 ] ]c 192.168.9.3 -i 1 -t 60 -b 100M
100M 以UDP方式向客户端192.168.9.3发送带宽数据,持续60秒,每1秒发送一次报告。
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 [ k4]f K -i 2 -w 300K –t 36
测试持续 36 秒
iperf -c 59.128.103.56 -f K [k4 ]i 2 [ k4]w 300K -n 10400000 –d
测试双向传输
iperf -c 59.128.103.56 -f K -i 2 -w 300K –u
评论前必须登录!
注册