1. 程式人生 > >網路頻寬和質量測試工具iPerf3攻略

網路頻寬和質量測試工具iPerf3攻略

最近在做監控視訊系統建設和運維相關工作,其中有隊友提出缺乏對網路線路頻寬和質量的檢查和監控手段。作為從業20多年的“資深”工程師,怎麼能受得了“沒辦法”這樣的結論呢,於是淡然推出iPerf3這個小工具。

iPerf3是用於主動偵測IP網路上最大可實現頻寬的工具。它支援時序、緩衝區、協議(TCP,UDP,SCTP與IPv4和IPv6)有關的各種引數。對於每個測試,它都會報告頻寬,丟包和其他引數。

iPerf3與原始iPerf不共享程式碼,也不向後相容。iPerf最初由NLANR / DAST開發。iPerf3主要由ESnet/Lawrence Berkeley國家實驗室開發。iPerf3採用新版BSD許可(BSD 3-clause License)。

iPerf3 v3.1.3等已編譯版本下載

因為這個監控視訊系統建設和運維相關的專案主要是Windows平臺,下面的介紹以iPerf3 v3.1.3 Windows 64bits版本為例。

1、安裝

將下載得到的“iperf-3.1.3-win64.zip”檔案解壓縮,得到“iperf3.exe”和“cygwin1.dll”兩個檔案。將這兩個檔案複製到“%systemroot%”(大多數Windows版本都是“Windows”這個資料夾,之所以用“%systemroot%”指代,是因為大家的“Windows”資料夾不一定都在“C”盤)資料夾的“System32”資料夾裡,如果有許可權相關的提示出現,都選擇“允許”之類的。

2、使用

重要的內容說三遍:伺服器端和客戶端的命令列視窗都要以管理員身份執行! 重要的內容說三遍:伺服器端和客戶端的命令列視窗都要以管理員身份執行! 重要的內容說三遍:伺服器端和客戶端的命令列視窗都要以管理員身份執行!

伺服器端和客戶端的命令列視窗都要以管理員身份執行!

伺服器端命令列(其中,-s表示伺服器端;-p定義埠號;-i設定每次報告之間的時間間隔,單位為秒,如果設定為非零值,就會按照此時間間隔輸出測試報告,預設值為零):

iperf3 -s -p 12345 -i 1

客戶端命令列(其中,-c表示伺服器的IP地址;-p表示伺服器的埠號;-i設定每次報告之間的時間間隔,單位為秒,如果設定為非零值,就會按照此時間間隔輸出測試報告,預設值為零;-t設定傳輸的總時間,Iperf在指定的時間內,重複的傳送指定長度的資料包,預設是10秒鐘;-w設定套接字緩衝區為指定大小,對於TCP方式,此設定為TCP視窗大小,對於UDP方式,此設定為接受UDP資料包的緩衝區大小,限制可以接受資料包的最大值):

iperf3 -c 192.168.88.248 -p 12345 -i 1 -t 10 -w 100K

客戶端的執行結果

說明:我的測試環境是1000Mbps區域網,從上面的截圖可以看到傳送和接收的平均頻寬是813Mbps,損失的部分頻寬可能是被IP包的控制資訊等佔用了。

結束。