山外筆記-工具框架】iperf3網絡性能測試工具詳解教程

      網友投稿 2189 2022-05-29

      【學習筆記】iperf3網絡性能測試工具.pdf

      網絡性能評估主要是監測網絡帶寬的使用率,將網絡帶寬利用最大化是保證網絡性能的基礎,但是由于網絡設計不合理、網絡存在安全漏洞等原因,都會導致網絡帶寬利用率不高。要找到網絡帶寬利用率不高的原因,就需要對網絡傳輸進行監控,此時就需要用到一些網絡性能評估工具,而Iperf就是這樣一款網絡帶寬測試工具。

      Iperf是美國伊利諾斯大學(University of Illinois)開發的一種開源的網絡性能測試工具??梢杂脕頊y試網絡節點間(也包括回環)TCP或UDP連接的性能,包括帶寬、抖動以及丟包率,其中抖動和丟包率適應于UDP測試,而帶寬測試適應于TCP和UDP。

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

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

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

      ① 測量網絡帶寬

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

      ③ 支持TCP窗口值通過套接字緩沖

      ④ 當P線程或Win32線程可用時,支持多線程??蛻舳伺c服務端支持同時多重連接

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

      ② 測量丟包

      ③ 測量延遲

      ④ 支持多播

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

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

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

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

      【山外筆記-工具框架】iperf3網絡性能測試工具詳解教程

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

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

      ⑥ 服務器端可作為后臺程序運行。

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

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

      Iperf有兩種版本,windows版和linux版本。

      Unix/Linux版更新比較快,版本最新,目前最新的版本是iperf3.0。

      Linux版本-:http://code.google.com/p/iperf/downloads/list

      為了測試的準確性,盡量使用linux環境測試。

      Windows版iperf叫jperf,或者xjperf,更新慢,目前最新版本為1.7(打包在jperf中)。

      Windows版本-:http://sourceforge.net/projects/iperf/files/jperf/jperf 2.0.0/

      jperf是在iperf基礎上開發的圖形界面程序,簡化了復雜命令行參數的構造,而且還能保存測試結果,同時實時圖形化顯示結果。

      對于windows版的iperf,下載安裝包后直接解壓,然后將解壓出來的iperf.exe和cygwin1.dll復制到%systemroot%目錄即可。

      CentOS安裝:yum install -y iperf3

      Debian和Ubuntu安裝:apt-get install iperf3

      gunzip -c iperf-.tar.gz | tar -xvf - cd iperf- ./configure make make install

      Iperf可以運行在任何IP網絡上,包括本地以太網、接入因特網、Wi-Fi網絡等。在工作模式上,iperf運行于服務器、客戶端模式下,其服務器端主要用于監聽到達的測試請求,而客戶端主要用于發起測試連接會話,因此要使用iperf至少需要兩臺服務器,一臺運行在服務器模式下,另一臺運行在客戶端模式下。

      在完成iperf安裝后,執行“iperf3 –h”即可顯示iperf的詳細用法。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:設置讀寫緩沖區的長度,單位為 Byte。TCP方式默認為8KB,UDP方式默認為1470字節。通常測試 PPS 的時候該值為16,測試BPS時該值為1400。

      (7)-b,--bandwidth [K|M|G]:指定UDP模式使用的帶寬,單位bits/sec,默認值是1 Mbit/sec。

      (8)-t,--time:指定數據傳輸的總時間,即在指定的時間內,重復發送指定長度的數據包。默認10秒。

      (9)-A:CPU親和性,可以將具體的iperf3進程綁定對應編號的邏輯CPU,避免iperf進程在不同的CPU間調度。

      (1)-f,--farmat [k|m|g|K|M|G]:指定帶寬輸出單位,“[k|m|g|K|M|G]”分別表示以Kbits, Mbits, Gbits, KBytes, MBytes,GBytes顯示輸出結果,默認Mbits,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 web-ixdba.tar.gz

      (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,這意味著永遠接受連接。

      (1)-c,--client host:iperf客戶端模式,host是server端地址,eg:iperf -c 222.35.11.23

      (2)-u,--udp:表示采用UDP協議發送報文,不帶該參數表示采用TCP協議。

      (3)-b,--bandwidth [K|M|G]:指定UDP模式使用的帶寬,單位bits/sec,默認值是1 Mbit/sec。

      (4)-t,--time:指定數據傳輸的總時間,即在指定的時間內,重復發送指定長度的數據包。默認10秒。

      (5)-l,--len:設置讀寫緩沖區的長度,單位為 Byte。TCP默認為8KB,UDP默認為1470字節。通常測試 PPS 的時候該值為16,測試BPS時該值為1400。

      (6)-n,--num [K|M|G]:指定傳輸數據包的字節數,例如: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參數。

      (1)-h,--help:顯示命令行參考并退出。

      [root]# iperf3 -h Usage: iperf3 [-s|-c host] [options] iperf3 [-h|--help] [-v|--version]

      (2)-v,--version:顯示版本信息和編譯信息并退出。

      (1)Server端IP地址:192.168.0.120

      (2)Server端IP地址:192.168.0.121

      [root@iperf-server ~]# iperf3 -s -i 1 -p 520 ------------------------------------------------------------ Server listening on TCP port 520 TCP window size: 85.3 KByte (default) ------------------------------------------------------------

      [root@iperf-client ~]# iperf -c 192.168.0.120 -i 1 -t 60 -p 520 ------------------------------------------------------------ Client connecting to 192.168.0.120, TCP port 520 TCP window size: 45.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.0.121 port 50616 connected with 192.168.0.120 port 520 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.1 sec 1.27 GBytes 1.08 Gbits/sec

      ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 192.168.0.120 port 520 connected with 192.168.0.121 port 50616 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.1 sec 1.27 GBytes 1.08 Gbits/sec

      ① Interval表示時間間隔。

      ② Transfer表示時間間隔里面轉輸的數據量。

      ③ Bandwidth是時間間隔里的傳輸速率。

      如果沒有指定發送方式,iPerf客戶端只會使用單線程。

      iperf3 -c 192.168.0.120 -P 30 -t 60

      iperf3 -c 192.168.0.120 -d -t 60

      要停止iperf3服務進程,請按CTRL+z或CTRL+c

      建議在Server端執行sar命令來統計實際收到的包并作為實際結果:sar -n DEV 1 320。

      帶寬測試通常采用UDP模式,因為能測出極限帶寬、時延抖動、丟包率。在進行測試時,首先以鏈路理論帶寬作為數據發送速率進行測試,例如,從客戶端到服務器之間的鏈路的理論帶寬為100Mbps,先用-b 100M進行測試,然后根據測試結果(包括實際帶寬,時延抖動和丟包率),再以實際帶寬作為數據發送速率進行測試,會發現時延抖動和丟包率比第一次好很多,重復測試幾次,就能得出穩定的實際帶寬。

      [root@iperf-server ~]# iperf3 -s -i 1 -p 521 ------------------------------------------------------------ Server listening on port 521 ------------------------------------------------------------

      [root@iperf-client ~]# iperf3 -u -c 192.168.0.120 -b 100m -t 60 -p 521 ------------------------------------------------------------ Client connecting to 192.168.0.120, port 521 ------------------------------------------------------------ [ 3] local 192.168.0.121 port 50616 connected with 192.168.0.120 port 521 [ ID] Interval Transfer Bandwidth TotalDatagrams [ 3] 0.0-10.1 sec 1.27 GBytes 1.08 Gbits/sec 82

      ------------------------------------------------------------ Server listening on port 521 ------------------------------------------------------------ [ 4] local 192.168.0.120 port 520 connected with 192.168.0.121 port 50616 [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 4] 0.0-10.1 sec 1.27 GBytes 1.08 Gbits/sec 0.007 ms 0/82 (0%)

      ① Jitter為抖動,在連續傳輸中的平滑平均值差。

      ② Lost為丟包數量。

      ③ Total Datagrams為包數量。

      如果沒有指定發送方式,iPerf客戶端只會使用單線程。

      iperf3 -u -c 192.168.1.1 -b 5M -P 30 -t 60

      iperf3 -u -c 192.168.1.1 -b 100M -d -t 60

      jperf是基于iperf開發的圖形界面程序,簡化了復雜命令行參數的構造,而且還能夠保存測試結果,同時實時圖形化顯示結果。JPerf可以測試TCP和UDP帶寬質量。JPerf可以測量最大TCP帶寬,具有多種參數和UDP特性。JPerf可以報告帶寬,延遲抖動和數據包丟失。

      (1)操作系統:Java運行環境

      (2)網絡要求:Jperf可以在任何IP網絡上運行,包括本地以太網,因特網接入連接和Wi-Fi網絡。

      (3)其他要求:JPerf必須安裝兩個組件:JPerf 服務器和JPerf客戶端。

      ① 服務端設置

      ? 監聽端口:5001

      ? client limit:客戶端限制,僅允許指定客戶端連接

      ? Num Connections:最大允許連接的數量,為0不限制

      ② 客戶端設置

      服務器地址:10.0.115.82 ,端口:5001 ,并發流:1個

      ① 兼容舊版本(當server端和client端版本不一樣時使用)

      ② 設置測試模式:傳輸字節總量大小15Bytes或者按傳輸時間總長度15秒

      ③ 同時進行雙向傳輸測試

      ④ 單獨進行雙向傳輸測試,先測c到s的帶寬

      ⑤ 指定需要傳輸的文件

      ⑥ 顯示tcp最大mtu值

      ① TCP協議

      ? 設置緩沖區大小

      ? 指定TCP窗口大小

      ? 設定TCP數據包的最大mtu值

      ? 設定TCP不延時

      ② UDP協議

      ? 設置UDP最大帶寬

      ? 設置UDP緩沖區

      ? UDP包封裝大?。耗J1470 byte

      ③ IP層設置

      ? 指定ttl值

      ? 服務類型(Type of Service, ToS),大小范圍從0x10 (最小延遲) 到0x2 (最少費用)

      【學習筆記】Iperf3網絡性能測試工具.pdf

      1.《網絡性能測試方法》

      地址:https://help.aliyun.com/knowledge_detail/55757.html#HFXbx

      2.《iperf-百度百科》(文章)

      地址:https://baike.baidu.com/item/iperf/11067694?fr=aladdin

      3.《Linux網絡性能評估工具iperf 、CHARIOT測試網絡吞吐量》(文章)

      地址:https://www.cnblogs.com/klb561/p/9215952.html

      4.《Linux命令大全-iperf命令》

      地址:https://man.linuxde.net/iperf

      5.《網絡性能測試工具iPerf功能與使用教程》

      地址:http://www.veryhuo.com/a/view/159685.html

      6.《iPerf圖形化工具Jperf圖文使用教程》

      地址:http://www.veryhuo.com/a/view/159704.html

      7.《使用iPerf進行網絡吞吐量測試》

      地址:https://www.jianshu.com/p/15f888309c72

      Windows 云性能測試服務 CPTS 網絡 自動化測試

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:千年姑蘇的智慧“城事”!
      下一篇:【王喆-推薦系統】線上服務篇-(task5)部署離線模型
      相關文章
      亚洲黄色免费在线观看| 亚洲av无码乱码国产精品| 亚洲国产成+人+综合| 久久精品国产精品亚洲毛片| 久久亚洲国产精品| 亚洲精品成人网站在线观看| 国产亚洲一区二区三区在线不卡| 亚洲人成网站色在线入口| 久久人午夜亚洲精品无码区| 亚洲国产成人精品无码区二本 | 亚洲中文无码永久免| 亚洲AV无码一区二区三区在线| 亚洲人成日本在线观看| 亚洲国产成人久久综合一区| 亚洲另类图片另类电影| 激情综合亚洲色婷婷五月APP | 亚洲无限乱码一二三四区| 亚洲精品在线播放| 亚洲人成日本在线观看| jiz zz在亚洲| 亚洲精品第一国产综合亚AV| 亚洲国产成人精品久久| 亚洲一区二区三区无码国产| 亚洲人成7777影视在线观看| 亚洲综合丁香婷婷六月香| 2020久久精品亚洲热综合一本| 99亚偷拍自图区亚洲| 亚洲色最新高清av网站| 久久久久亚洲国产AV麻豆| 在线亚洲精品视频| 一本久到久久亚洲综合| AV在线播放日韩亚洲欧| 国产亚洲人成网站在线观看不卡| 国产亚洲综合一区柠檬导航| 亚洲尹人九九大色香蕉网站| 亚洲日韩乱码久久久久久| 亚洲最大中文字幕无码网站| 国产午夜亚洲精品不卡免下载| 亚洲最大av无码网址| 亚洲国产精华液网站w| 亚洲一区综合在线播放|