Iperf3-網絡性能測試工具介紹

1.什么是iperf?

Iperf是美國伊利諾斯大學(University of Illinois)開發(fā)的一種開源的網絡性能測試工具。可以用來測試網絡節(jié)點間(也包括回環(huán))TCP或UDP連接的性能,包括帶寬、抖動以及丟包率,其中抖動和丟包率適應于UDP測試,而帶寬測試適應于TCP和UDP。

Iperf是一款基于TCP/IP和UDP/IP的網絡性能測試工具,可以用來測量網絡帶寬和網絡質量,提供網絡延遲抖動、數據包丟失率、最大傳輸單元等統計信息。網絡管理員可以根據這些信息了解并判斷網絡性能問題,從而定位網絡瓶頸,解決網絡故障。

Iperf 是一款基于命令行模式的網絡性能測試工具,是跨平臺的,提供橫跨Windows、Linux、Mac的全平臺支持。iperf 全程使用內存作為發(fā)送/接收緩沖區(qū),不受磁盤性能的影響,對于機器配置要求很低。不過由于是命令行工具, iperf 不支持輸出測試圖形。

Iperf可以測試TCP和UDP帶寬質量,具有多種參數和UDP特性,可以用來測試一些網絡設備如路由器,防火墻,交換機等的性能。

2.Iperf的功能

TCP方面
(1) 測量網絡帶寬
(2)報告MSS/MTU值的大小和觀測值
(3)支持TCP窗口值通過套接字緩沖
(4)當P線程或Win32線程可用時,支持多線程。客戶端與服務端支持同時多重連接
UDP方面
(1)客戶端可以創(chuàng)建指定帶寬的UDP流
(2) 測量丟包
(3) 測量延遲
(4) 支持多播
(5) 當P線程可用時,支持多線程。客戶端與服務端支持同時多重連接(不支持Windows)
其他方面
(1) 在適當的地方,選項中可以使用K(kilo-)和M(mega-)。例如131072字節(jié)可以用128K代替。
(2) 可以指定運行的總時間,甚至可以設置傳輸的數據總量。
(3) 在報告中,為數據選用最合適的單位。
(4) 服務器支持多重連接,而不是等待一個單線程測試。
(5) 在指定時間間隔重復顯示網絡帶寬,波動和丟包情況。
(6) 服務器端可作為后臺程序運行。
(7) 服務器端可作為Windows 服務運行。
(8) 使用典型數據流來測試鏈接層壓縮對于可用帶寬的影響。

3.常用參數

4.常用參數
iperf3是一個網絡性能測試工具,常用參數包括:
1. -s: 啟動服務器模式。
2. -c <host>: 啟動客戶端模式,指定服務器地址。
3. -p <port>: 指定端口,默認5201。
4. -t <time>: 測試持續(xù)時間,單位為秒,默認10秒。
5. -u: 使用UDP而非TCP。
6. -b <bandwidth>: 指定UDP帶寬,如`10M`。
7. -l <length>: 指定TCP或UDP數據包大小,默認128KB。
8. -w <size>: 設置TCP窗口大小。
9. -R: 反向測試,從服務器發(fā)送到客戶端。
10.-J: 輸出JSON格式結果。
11.-V: 啟用版本信息。

4. 工具下載

官網地址:
https://iperf.fr/iperf-doc.php#3doc

其他下載地址:
https://code.google.com/archive/p/iperf/downloads

5.網絡性能測試

#如何使用iperf?
此次測試是為了驗證服務器之間的網絡性能,我們在兩臺服務器上同時安裝iPerf,
一個臺充當服務端,另外一臺充當客戶端,客戶端連接服務端測試網絡性能

node1> iperf3 -c 192.168.1.2 -t 20
Connecting to host 192.168.1.2,port 5201
[  4] local <IP  node2> port 123 connected to <IPnode1> port 5201
[ ID] Interval       Transfer     Bandwidth       Jitter   Lost/Total Datagrams
[  4]  0.0- 1.0 sec   1.3 MBytes  10.0 Mbits/sec  0.209 ms    1/  894 (0.11%)
[  4]  1.0- 2.0 sec   1.3 MBytes  10.0 Mbits/sec  0.221 ms    0/  892 (0%)
[  4]  2.0- 3.0 sec   1.3 MBytes  10.0 Mbits/sec  0.277 ms    0/  892 (0%)
[  4]  3.0- 4.0 sec   1.3 MBytes  10.0 Mbits/sec  0.359 ms    0/  893 (0%)
[  4]  4.0- 5.0 sec   1.3 MBytes  10.0 Mbits/sec  0.251 ms    0/  892 (0%)
[  4]  5.0- 6.0 sec   1.3 MBytes  10.0 Mbits/sec  0.215 ms    0/  892 (0%)
[  4]  6.0- 7.0 sec   1.3 MBytes  10.0 Mbits/sec  0.325 ms    0/  892 (0%)
[  4]  7.0- 8.0 sec   1.3 MBytes  10.0 Mbits/sec  0.254 ms    0/  892 (0%)
[  4]  8.0- 9.0 sec   1.3 MBytes  10.0 Mbits/sec  0.282 ms    0/  892 (0%)
[  4]  0.0-10.0 sec  12.5 MBytes  10.0 Mbits/sec  0.243 ms    1/ 8922 (0.011%)

[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  12.5 MBytes  10.0 Mbits/sec
[  3] Sent 8922 datagrams

Interval:程序的運行時間
Transfer:傳輸的數據總量
Bandwidth:測試出的帶寬
Jitter:網路抖動
Lost/Total Datagrams:丟包數/總數據包數(丟包率

6.參考鏈接

https://blog.csdn.net/meihualing/article/details/112322683
https://www.cnblogs.com/xuanbjut/p/14144255.html
https://www.cnblogs.com/xxllx/p/17724471.html
https://blog.csdn.net/meihualing/article/details/112322683
https://help.aliyun.com/zh/ecs/use-cases/best-practices-for-testing-network-performance#197f72288ee5z

7.其他

網絡PPS(每秒傳輸數據包數)
網絡帶寬(數據傳輸速度)
網絡時延(數據從發(fā)送端發(fā)出到接收端接收到所需的時間)
是衡量服務器網絡性能的重要指標,測試網絡性能可以評估網絡的穩(wěn)定性、延遲和吞吐量,

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容