网络性能测试的最佳实践 本文将详细介绍如何使用 iperf3 工具,测试弹性云主机间网络性能。 iperf可用于测试两个计算机之间的网络带宽和延迟。它是一个开源项目,提供了用于Windows、Linux和其他操作系统的版本。通过在两台计算机之间运行iPerf服务器和客户端,您可以测量它们之间的网络性能。iPerf客户端发送数据流到服务器,并且服务器测量接收到的数据量和速度,支持在TCP和UDP协议上运行。 本文将详细介绍如何使用 iperf3 工具,测试弹性云主机间网络性能。内容主要包括“测试前准备”、“TCP 带宽测试”、“UDP PPS 测试”。 安装使用 [root@ssdaliu1 ~] sudo yum install iperf3 [root@ssdaliu2 ~] sudo yum install iperf3 参数说明 iperf常用参数中文说明: (1)s,–server:iperf服务器模式,默认启动的监听端口为5201,eg:iperf s (2)c,–client host:iperf客户端模式,host是server端地址,eg:iperf c 222.35.11.23 (3)i,–interval:指定每次报告之间的时间间隔,单位为秒,eg:iperf3 c 192.168.12.168 i 2 (4)p,–port:指定服务器端监听的端口或客户端所连接的端口,默认是5001端口。 (5)u,–udp:表示采用UDP协议发送报文,不带该参数表示采用TCP协议。 (6)l,–len:设置读写缓冲区的长度,(default 128 KB for TCP, dynamic or 1 for UDP)。通常测试 PPS 的时候该值为16,测试BPS时该值为1400。 (7)b,–bandwidth [KMG]:指定UDP模式使用的带宽,单位bits/sec,默认值是1 Mb/s。 (8)t,–time:指定数据传输的总时间,即在指定的时间内,重复发送指定长度的数据包。默认10秒。 (9)A:CPU亲和性,可以将具体的iperf3进程绑定对应编号的逻辑CPU,避免iperf进程在不同的CPU间调度。 通用参数(Server端和Client端共用): (1)f,–format [kmgKMG]:指定带宽输出单位,“[kmgKMG]”分别表示以Kb, Mb, Gb, KBytes, MBytes,GBytes显示输出结果,默认Mb,eg:iperf3 c 192.168.12.168 f M (2)p,–port:指定服务器端监听的端口或客户端所连接的端口,默认是5001端口。 (3)i,–interval:指定每次报告之间的时间间隔,单位为秒,eg:iperf3 c 192.168.12.168 i 2 (4)F:指定文件作为数据流进行带宽测试。例如:iperf3 c 192.168.12.168 F webixdba.tar.gz Server端专用参数: (1)s,–server:iperf服务器模式,默认启动的监听端口为5201,eg:iperf s (2)c,–client host:如果iperf运行在服务器模式,并且用c参数指定一个主机,那么iperf将只接受指定主机的连接。此参数不能工作于UDP模式。 (3)D:Unix平台下将Iperf作为后台守护进程运行。在Win32平台下,Iperf将作为服务运行。 (4)R:卸载Iperf服务(仅用于Windows)。 (5)o:重定向输出到指定文件(仅用于Windows)。 (6)P,–parallel:服务器关闭之前保持的连接数。默认是0,这意味着永远接受连接。 Client端专用参数: (1)c,–client host:iperf客户端模式,host是server端地址,eg:iperf c 222.35.11.23 (2)u,–udp:表示采用UDP协议发送报文,不带该参数表示采用TCP协议。 (3)b,–bandwidth [KMG]:指定UDP模式使用的带宽,单位bits/sec,默认值是1 Mbit/sec。 (4)t,–time:指定数据传输的总时间,即在指定的时间内,重复发送指定长度的数据包。默认10秒。 (5)l,–len:设置读写缓冲区的长度,(default 128 KB for TCP, dynamic or 1 for UDP)。通常测试 PPS 的时候该值为16,测试BPS时该值为1400。 (6)n,–num [KMG]:指定传输数据包的字节数,例如:iperf3 c 192.168.12.168 –n 100M (7)P,–parallel:指定客户端与服务端之间使用的线程数。默认是1个线程。需要客户端与服务器端同时使用此参数。 (8)w,–window:指定套接字缓冲区大小,在TCP方式下,此设置为TCP窗口的大小。在UDP方式下,此设置为接受UDP数据包的缓冲区大小,用来限制可以接收数据包的最大值 (9)B,–bind:用来绑定一个主机地址或接口,这个参数仅用于具有多个网络接口的主机。在UDP模式下,此参数用于绑定和加入一个多播组。 (10)M,–mss:设置TCP最大信息段的值 (11)N,–nodelay:设置TCP无延时 (12)V:绑定一个IPv6地址。 (13)d,–dualtest:运行双测试模式。将使服务器端反向连接到客户端,使用L参数中指定的端口(或默认使用客户端连接到服务器端的端口)。使用参数r以运行交互模式。 (14)L,–listenport:指定服务端反向连接到客户端时使用的端口。默认使用客户端连接至服务端的端口。 (15)r,–tradeoff:往复测试模式。当客户端到服务器端的测试结束时,服务器端反向连接至客户端。当客户端连接终止时,反向连接随即开始。如果需要同时进行双向测试,请尝试d参数。