Iperf
Iperf是一个网络性能测试工具,可以测试TCP和UDP最大带宽,具有多种参数和UDP特性,可以根据需要调整,报告带宽,延迟,数据包丢失
通用参数
-b(bandwidth):指定UDP模式使用的带宽,此选项与‘-u’相关,默认值为1m/s
-e(enhancedreports):使用增强的报告提供更多tcp/udp和流量信息
-f(format):报告格式,支持的格式有‘B’‘K’‘M’‘G’,默认为‘a’自适应
-i(interval):定期带宽报告之间的间隔时间
-l(len):要读取或写入的缓冲区长度(TCP默认为8 KB,UDP默认为1470字节)
-m(print_mss):打印TCP最大段大小
-o(output):将报告或错误消息输出到此指定文件
-p(port):指定监听端口
-u(UDP):使用UDP协议(iperf默认使用TCP协议)
-w(window): 对于TCP,此设置为窗口大小;对于UDP,此设置为接收UDP数据包的缓冲区大小,闲置可以接收数据包的最大值
-z(realtime):请求实时调度器
-B(bind):绑定到接口或者多播地址
-C(conpatibility)与旧版本一起使用不会发送额外的MSG
-M(mss):配置TCP最大段大小
-N(nodelay):设置TCP无延迟,禁用Nagle算法
-V(ipv6_domain):设置域为IPv6
服务端参数
-s(server):在服务器模式下运行
-U(single_udp):在单线程UDP模式下运行
-D(darmon):将服务器作为守护程序运行
客户端参数
-c(client):在客户端模式下运行
-d(dualtest):同时运行双向测试
-n(num):要传输的字节数
-r(tradeoff):单独做一个双向测试(与参数‘-d’的区别在于,‘-d’参数是双向的测试同时进行,而‘-r’的参数实在执行完客户端到服务端的数据传输后,由服务端向客户端发送测试)
-t(time):指定程序运行时间
-B(bind):绑定要发起流量的SRC地址
-F(fileinput):输入要从文件传输的数据,即使用特定的数据流测试带宽
-I(stdin):与“F”一样,由标准输入输出文件输入数据
-L(listenport):指定服务端反向链接到客户端的端口,默认是使用客户端链接至服务端的端口
-P(parallel):线程数,指定客户端与服务端链接的线程数,默认是1
-T(ttl):出栈多播数据包的ttl值,这本质上就是数据通过路由器的跳数,默认为1
-Z(linux-congestion):配置TCP拥塞控制算法(仅Linux)