linux測試帶寬命令,Linux服務器網絡帶寬測試iperf


linux測試帶寬命令,Linux服務器網絡帶寬測試iperf
必須先運行iperf server
iperf -s -i 2
客戶端
iperf -c 服務端IP地址

 

iperf原理解析

iperf工具可以用來測量TCP或者是UDP的網絡吞吐量,即bandwidth(帶寬)測試。 

iPerf的主要目標是幫助調整特定路徑上的TCP連接。 眾所周知,TCP最基本的調整問題是調整TCP窗口大小,它控制在任何一點在網絡中可以有多少數據。如果它太小,發送者將會在一段時間內處於空閑狀態,從而影響發送TCP的性能。TCP窗口大小的理論值是:瓶頸帶寬與往返延時的乘積,即:

bottleneck bandwidth * round trip time

例如瓶頸鏈路是45 Mbit/sec,使用ping命令測量到的往返時延是42ms。那么TCP窗口的理論值是

45 Mbit/sec * 42 ms = (45e6) * (42e-3) = 1890000 bits= 230 KByte

 

在實際測試中,可以以計算得到的TCP窗口為基准,在這個值(如上面為230KByte)的基礎上,升高或者降低TCP窗口大小,可以得到一個性能的提升。   帶寬測試一般來說采用UDP模式測試,因為在UDP模式下能測出極限帶寬、路徑時延、丟包率,這些測試項會在帶寬測試報告中打印出來。

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

 

iperf是基於server-client模式工作的,因此,要使用iperf測試帶寬,需要建立一個服務端(用於丟棄流量)和一個客戶端(用於產生流量)。

iperf服務端或者是客戶端,都是使用的同一個命令,不過是啟動命令的選項不同而已。

 

1. iperf服務啟動方式

先看下服務端和客戶端的啟動方式:

服務端

iperf -s

客戶端

iperf -c 服務端IP地址

注意:iperf默認測試的是TCP協議的帶寬,如果需要測試UDP的帶寬,則需要加上-u選項

 

2. iperf常用選項 

  iperf選項分為 通用選項、服務端特定選項以及客戶端特定選項

通用選項

-f <kmKM>    報告輸出格式。 [kmKM]   format to report: Kbits, Mbits, KBytes, MBytes

-i <sec>    在周期性報告帶寬之間暫停n秒。如周期是10s,則-i指定為2,則每隔2秒報告一次帶寬測試情況,則共計報告5次

-p    設置服務端監聽的端口,默認是5001

-u    使用UDP協議測試

-w n<K/M>   指定TCP窗口大小

-m    輸出MTU大小

-M    設置MTU大小

-o <filename>    結果輸出至文件

 

服務端選項

-s    iperf服務器模式

-d    以后台模式運行服務端

-U    運行一個單一線程的UDP模式

 

客戶端選項

-b , --bandwidth n[KM]    指定客戶端通過UDP協議發送數據的帶寬(bit/s)。默認是1Mbit/s

-c <ServerIP>    以客戶端模式運行iperf,並且連接至服務端主機ServerIP。 eg:  iperf -c <server_ip>

-d    雙向測試

-t    指定iperf帶寬測試時間,默認是10s。  eg:  iperf -c <server_ip> -t 20

-P    指定客戶端並發線程數,默認只運行一個線程。 eg,指定3個線程 : iperf -c <server_ip> -P 3

-T    指定TTL值

 

3.實例

master 為服務端 

minion 為客戶端 

注意:必須先運行iperf server

2秒返回一次帶寬測試報告

 

# iperf -c 120.24.25.65

------------------------------------------------------------

Client connecting to 120.24.25.65, TCP port 5001

TCP window size: 19.3 KByte (default)

------------------------------------------------------------

[  3] local 113.58.113.136 port 49959 connected with 120.24.25.65 port 5001

[ ID] Interval       Transfer     Bandwidth

[  3]  0.0-10.3 sec  3.12 MBytes  2.54 Mbits/sec

[root@iZwz96l7gxttha3j1hk494Z ~]# iperf -s -i 2

------------------------------------------------------------

Server listening on TCP port 5001

TCP window size: 85.3 KByte (default)

------------------------------------------------------------

[  4] local 113.58.113.136 port 5001 connected with 120.24.25.65 port 56238

[ ID] Interval       Transfer     Bandwidth

[  4]  0.0- 2.0 sec   792 KBytes  3.24 Mbits/sec

[  4]  2.0- 4.0 sec   561 KBytes  2.30 Mbits/sec

[  4]  4.0- 6.0 sec   513 KBytes  2.10 Mbits/sec

[  4]  6.0- 8.0 sec   609 KBytes  2.50 Mbits/sec

[  4]  8.0-10.0 sec   529 KBytes  2.17 Mbits/sec

[  4]  0.0-11.3 sec  3.25 MBytes  2.41 Mbits/sec


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM