“ Iperf”是一种常用的网络测试工具,可以创建TCP和UDP数据流并测量承载它们的网络的吞吐量。 Iperf是用C ++编写的用于网络性能评估的现代工具。”

该工具必须配置服务器端和客户端才能完成测试。它可以从客户端或服务器端进行测试,也可以从两个方向进行测试。支持TCP和UDP测试。许多选项使该工具具有非常强大且准确的网络速度测试功能。


1.下载并安装 iperf3 

主要下载站点是从 //iperf.fr/iperf-download.php.


Ubuntu: apt install iperf3
中心: yum install iperf3

视窗:

//iperf.fr/download/windows/iperf-3.1.3-win64.zip

在Linux中,发出命令iperf3来运行。在Windows中,将文件解压缩并将其放置在文件夹中,然后使用管理员权限从cmd窗口运行该文件。 

2.作为服务器启动

从命令行作为iperf服务器(IP地址100.99.136.66)运行命令“ iperf -s ”。

C:\工具 > iperf -s

————————————————————
服务器在TCP端口5001上侦听
TCP视窗大小:8.00 KB(默认值)
————————————————————
[188]本地100.99.136.66端口5001与100.94.200.14端口48410连接
[ID]间隔      Transfer     Bandwidth
[188] 0.0-10.0 sec   121 MBytes   101 Mbits/sec

服务器模式: iperf3 -s -p <port number>

3.以测试客户端身份运行iperf
客户模式: iperf3 -c <Server IP> -p <Server Port> -t <Test time, second> -P <Parallel stream numbers> -R <Test From Server to Client(Download), with -R, testing is from Client to Server(Uplod)>
用户“ ipef -c”命令从客户端测试机运行(ip adss 100.94.200.14) 评估基于TCP连接的网络吞吐量。
C:\工具 >iperf -c 100.99.136.66
————————————————————
客户端连接到100.99.136.66,TCP端口5001
TCP视窗大小:8.00 KB(默认值)
————————————————————
[1912]本地100.94.200.14端口48410与100.99.136.66端口5001连接
[ID]间隔      Transfer     Bandwidth
[1912] 0.0-10.0 sec   121 MBytes   101 Mbits/sec


4.发送100MBytes数据进行测试

iperf -c 100.99.136.66 -n 100m


5.双向测试

同时双向带宽测量:(-d参数)
要同时测量双向带宽,请使用-d参数。如果要顺序测试带宽,请使用 -r 参数(请参阅先前的测试)。
缺省情况下(即:没有-r或-d参数),仅测量从客户端到服务器的带宽。
C:\工具 >
iperf -c 100.99.136.66  -d
————————————————————
服务器在TCP端口5001上侦听
TCP窗口大小:85.3 KByte(默认)
————————————————————
————————————————————
客户端连接到10.1.1.1,TCP端口5001
TCP视窗大小:16.0 KB(默认值)
————————————————————
[5]本地10.6.2.5端口60270与10.1.1.1端口5001连接
[4]本地10.6.2.5端口5001与10.1.1.1端口2643连接
[ 4] 0.0-10.0秒76.3 MBytes 63.9 Mbits/sec
[5] 0.0-10.1秒1.55 MBytes 1.29 Mbits / sec


6. 并行TCP连接

如果您需要饱和链路的带宽,则并行连接可能很有用。 单个TCP会话的带宽可能会受到接收窗口大小和链接等待时间的极大影响。
iperf -s -i 1 (-i 1表示每秒更新一次终端)
iperf -c 192.168.1.1 -t 30 -P 10

添加字幕

7.  Other Parameters

iperf -c 12.12.12.12 -p 2233 -i 1 -t 60 -f M
笔记:
c:启动iperf作为客户端,其IP地址为远程服务器ip。
p:设置特定的服务器端口,该端口应与服务器端的设置相同。
i:报告间隔
t:测试时间
f:更改号码输出格式

其他参数可以从找到 //iperf.fr/iperf-doc.php.

iperf3 –帮助


C:\temp\iperf-3.1.3-win64>iperf3 --h
Usage: iperf [-s|-c host] [options]
       iperf [-h|--help] [-v|--version]

Server or Client:
  -p, --port      #         server port to listen  上 /connect to
  -f, --format    [kmgKMG]  format to report: Kbits, Mbits, KBytes, MBytes
  -i, --interval  #         seconds between periodic bandwidth reports
  -F, --file name           xmit/recv the specified file
  -B, --bind      <host>    bind to a specific interface
  -V, --verbose             more detailed output
  -J, --json                output in JSON format
  --logfile f               send output to a log file
  -d, --debug               emit debugging output
  -v, --version             show version information and quit
  -h, --help                show this message and quit
Server specific:
  -s, --server              run in server mode
  -D, --daemon              run the server as a daemon
  -I, --pidfile file        write PID file
  -1, --one-off             handle  上 e client connection then exit
Client specific:
  -c, --client    <host>    run in client mode, connecting to <host>
  -u, --udp                 use UDP rather than TCP
  -b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited)
                            (default 1 Mbit/sec for UDP, unlimited for TCP)
                            (optional slash and packet count for burst mode)
  -t, --time      #         time in seconds to transmit for (default 10 secs)
  -n, --bytes     #[KMG]    number of bytes to transmit (instead of -t)
  -k, --blockcount #[KMG]   number of blocks (packets) to transmit (instead of -t or -n)
  -l, --len       #[KMG]    length of buffer to read or write
                            (default 128 KB for TCP, 8 KB for UDP)
  --cport         <port>    bind to a specific client port (TCP and UDP, default: ephemeral port)
  -P, --parallel  #         number of parallel client streams to run
  -R, --reverse             run in reverse mode (server sends, client receives)
  -w, --window    #[KMG]    set window size / socket buffer size
  -M, --set-mss   #         set TCP/SCTP maximum segment size (MTU - 40 bytes)
  -N, --no-delay            set TCP/SCTP no delay, disabling Nagle's Algorithm
  -4, --version4             上 ly use IPv4
  -6, --version6             上 ly use IPv6
  -S, --tos N               set the IP 'type of service'
  -Z, --zerocopy            use a 'zero copy' method of sending data
  -O, --omit N              omit the first n seconds
  -T, --title str           prefix every output line with this string
  --get-server-output       get results from server
  --udp-counters-64bit      use 64-bit counters in UDP test packets

[KMG] indicates options that support a K/M/G suffix for kilo-, mega-, or giga-

iperf3 homepage at: http://software.es.net/iperf/
Report bugs to:     //github.com/esnet/iperf

C:\temp\iperf-3.1.3-win64>

YouTube视频:

通过 约翰

关于“最佳免费网络性能测试工具– Iperf”的想法

发表评论