天天看點

網絡性能測試工具

網絡的基本目的是有效地共享資源。利用可靠的網絡測試工具建立定期的網絡測試對于:了解網絡的狀态、確定配置更改按預期工作、檢測癱瘓網絡、提供一流的終端使用者體驗。那麼網絡性能也是非常關鍵的。隻要是需要快速而且大量的網絡資料傳輸的應用都可以作為網絡性能基準測試工具,可以是專門用于測試網絡帶寬的Netperf、Iperf等,也可以是常用的Linux上的檔案傳輸工具SCP。下面簡單介紹幾種常用的網絡性能測試工具。

1. Netperf

Netperf可以測試網絡性能的多個方面,主要包括使用TCP、UDP等協定的單向批量資料傳輸模式和請求-響應模式的傳輸性能。Netperf主要測試的項目包括:使用BSD Sockets的TCP和UDP連接配接(IPv4和IPv6)、使用DLPI接口的鍊路級别的資料傳輸、Unix Domain Socket、SCTP協定的連接配接(IPv4和IPv6)。下載下傳連結:​​https://github.com/HewlettPackard/netperf​​。

Netperf采用客戶機/伺服器(Client/Server)的工作模式:服務端是netserver,用來偵聽來自用戶端的連接配接,用戶端是netperf,用來向服務端發起網絡測試。在用戶端與服務端之間,首先建立一個控制連接配接,用于傳遞有關測試配置的資訊和測試完成後的結果;在控制連接配接建立并傳遞了測試配置資訊以後,用戶端與服務端之間會另外再建立一個測試資料連接配接,用來傳遞指定測試模式的所有資料;當測試完成後資料連接配接就斷開,控制連接配接會收集好用戶端和服務端的測試結果,然後讓用戶端展示給使用者。

可以測試以下幾種模式的TCP核UDP網絡性能:

  • TCP_STREAM: client端向server端發送批量TCP資料
  • UDP_STREAM:client端向server端發送批量UDP資料
  • TCP_RR和TCP_CRR:前者是在同一個連接配接中進行多次request和response請求,後者是每次請求建立一個連接配接(HTTP)
  • UDP_RR:使用UDP進行request和response請求
2. Iperf3

iperf3 的主要開發在 CentOS Linux、FreeBSD 和 macOS 上進行。iperf 系列工具執行主動測量以确定 IP 網絡上可實作的最大帶寬。它支援調整與時序、協定和緩沖區相關的各種參數。對于每個測試,它都會報告測量的吞吐量、損耗和其他參數。下載下傳連結:​​https://downloads.es.net/pub/iperf/iperf-3.11.tar.gz​​。

iperf3 是一個從頭開始的新實作,目标是更小、更簡單的代碼庫,以及可在其他程式中使用的功能的庫版本。iperf3 還內建了其他工具(例如 nuttcp 和 netperf)中的許多功能,但原始 iperf 中缺少這些功能。例如,這些包括零複制模式和可選的 JSON 輸出。請注意,iperf3與原始 iperf不向後相容。

簡單參數介紹如下:

#常用公共參數
-i 2 #表示每2秒顯示一次報告
-w 80k #對于TCP方式,此設定為TCP視窗大小。對于UDP方式,此設定為接受UDP資料包的緩沖區大小,限制可以接受資料包的最大值

-B 192.168.122.1 
#綁定到主機的多個位址中的一個。對于用戶端來說,這個參數設定了出棧接口。對于伺服器端來說,這個參數設定入棧接口。這個參數隻用于具有多網絡接口的主機。
#在Iperf的UDP模式下,此參數用于綁 定和加入一個多點傳播組。使用範圍在224.0.0.0至239.255.255.255的多點傳播位址

#常用用戶端參數
-b 100m  #用于udp測試時,設定測試發送的帶寬,機關:bit/秒,不設定時預設為:1Mbit/秒
-c   #指定服務端ip位址
-d   #同時測試上行和下行
-t 10  #設定傳輸時間,為10秒  
-P 5 #指定發起5個線程      
3. SCP

SCP是Linux系統上最常用的遠端檔案複制程式,它可以作為實際的應用來測試網絡傳輸的效率。用SCP遠端傳輸同等大小的一個檔案,根據其花費時間的長短可以粗略評估出網絡性能的好壞。

-1:使用ssh協定版本1;
-2:使用ssh協定版本2;
-4:使用ipv4;
-6:使用ipv6;
-B:以批處理模式運作;
-C:使用壓縮;
-F:指定ssh配置檔案;
-l:指定寬帶限制;
-o:指定使用的ssh選項;
-P:指定遠端主機的端口号;
-p:保留檔案的最後修改時間,最後通路時間和權限模式;
-q:不顯示複制進度;
-r:以遞歸方式複制。      
  • 從遠處複制檔案到本地目錄,從192.168.1.1機器上的

    /home/soft/

    的目錄中下載下傳nginxtar.gz 檔案到本地

    /root/soft/

    目錄中。
scp [email protected]:/home/soft/nginx.tar.gz  /root/soft/      
  • 上傳本地檔案到遠端機器指定目錄,複制本地/root/soft/目錄下的檔案nginx.tar.gz到遠端機器192.168.1.1的/

    home/soft/

    nginx目錄。
scp /root/soft/nginx.tar.gz [email protected]:/home/soft/ngnix      
4. TTCP