閱讀111 返回首頁    go 雲更新


網絡性能測試工具iperf使用教程

Iperf是一個網絡性能測試工具。Iperf可以測試TCP和UDP帶寬質量。Iperf可以測量最大TCP帶寬,具有多種參數和UDP特性。Iperf可以報告帶寬,延遲抖動和數據包丟失。利用Iperf這一特性,可以用來測試一些網絡設備如路由器,防火牆,交換機等的性能。

Iperf有兩種版本,windows版和linux版本。linux版本更新快,最新版本為iperf 3.0,下載地址為https://code.google.com/p/iperf/downloads/list ,windows版本官方更新的最新版本為1.7(打包在jperf中),下載地址為:

 https://sourceforge.net/projects/iperf/files/jperf/jperf%202.0.0/

Iperf的主要功能如下:

TCP

  • 測量網絡帶寬

  • 報告MSS/MTU值的大小和觀測值

  • 支持TCP窗口值通過套接字緩衝

  • 當P線程或Win32線程可用時,支持多線程。客戶端與服務端支持同時多重連接

UDP

  • 客戶端可以創建指定帶寬的UDP流

  • 測量丟包

  • 測量延遲

  • 支持多播

  • 當P線程可用時,支持多線程。客戶端與服務端支持同時多重連接(不支持Windows)

其他

  • 在適當的地方,選項中可以使用K(kilo-)和M(mega-)。例如131072字節可以用128K代替。

  • 可以指定運行的總時間,甚至可以設置傳輸的數據總量。

  • 在報告中,為數據選用最合適的單位。

  • 服務器支持多重連接,而不是等待一個單線程測試。

  • 在指定時間間隔重複顯示網絡帶寬,波動和丟包情況。

  • 服務器端可作為後台程序運行。

  • 服務器端可作為Windows 服務運行。

  • 使用典型數據流來測試鏈接層壓縮對於可用帶寬的影響。

  • 支持傳送指定文件,可以定性和定量測試

Iperf使用方法

  1. 安裝Iperf

    1. 對於windows版的Iperf,直接將解壓出來的iperf.exe和cygwin1.dll複製到%systemroot%目錄即可

    2. 對於linux版的Iperf,請使用如下命令安裝

      gunzip -c iperf-<version>.tar.gz | tar -xvf -

      cd iperf-<version>

      ./configure

      make

      make install

使用Iperf(以windows版本為例)

在命令提示符中輸入iperf命令即可運行Iperf,使用命令Iperf –help可以查看iperf的幫助

                   

  1. 測試單線程TCP

  • 在服務端運行iperf,輸入命令iperf –s –p 12345 –i 1 –M 以在本機端口12345上啟用iperf

                   

  • 在客戶端運行iperf,輸入命令iperf –c server-ip –p server-port –i 1 –t 10 –w 20K,其中參數說明如下:

    -c:客戶端模式,後接服務器ip

    -p:後接服務端監聽的端口

    -i:設置帶寬報告的時間間隔,單位為秒

    -t:設置測試的時長,單位為秒

    -w:設置tcp窗口大小,一般可以不用設置,默認即可

測試後截圖如下:

客戶端

              

服務端

              

其中:Interval表示時間間隔。Transfer表示時間間隔裏麵轉輸的數據量。Bandwidth是時間間隔裏的傳輸速率。最後一行是本次測試的統計。測試可知帶寬平均為89.9Mbit/s。

 

測試多線程TCP

在客戶端添加-P參即可測試多線程的TCP性能,如下為使用兩個線程的測試情況

客戶端截圖

             

服務端截圖

            

  1. 測試單線程UDP(默認帶寬)

  2. 在服務端運行iperf,輸入命令iperf –s -u –p 12345 –i 1 以在本機端口12345上啟用iperf,並運行於udp模式

  • 在客戶端運行iperf,輸入命令iperf -c server-ip -p server-port -i 1 -t 10 -b,其中參數說明如下:

    -c:客戶端模式,後接服務器ip

    -p:後接服務端監聽的端口

    -i:設置帶寬報告的時間間隔,單位為秒

    -t:設置測試的時長,單位為秒

    -b:設置udp的發送帶寬,單位bit/s

客戶端截圖

          

服務端截圖

          

其中,Jitter為抖動,lost/total為丟包數量,Datagrams為包數量。

  1. 測試單線程UDP(帶寬為10Mbit/s)

    設置客戶端帶寬為10M即可,使用參數-b指定

客戶端截圖

          

服務端截圖   

          

  1. 測試多線程UDP

    與多線程TCP類似,隻需要客戶端使用-P參數指定線程個數即可

 

  1. 測試UDP的雙向傳輸

    客戶端使用參數-d以運行雙測試模式,客戶端會與服務端進行udp往返測試。可以使用-L參數指定本端雙測試監聽的端口。

客戶端截圖

                  

服務端截圖

                   

  1. 測試UDP往複傳輸

    與雙向傳輸類似,使用參數-r以運行交互模式,仍然可以使用-L參數指定交互的端口。

客戶端截圖

                 

服務端截圖

                

 

最後更新:2017-02-04 19:58:35

  上一篇:go 菜單不能顯示某個遊戲的圖標?
  下一篇:go 上傳客戶機係統,對係統盤的分區格式有要求嗎,支持fat32嗎?