18,168 瀏覽數

網路效能測試工具 “iperf"

Step 1.下載程式
Step 2.安裝 iperf(Server端)
Step 3.安裝 iperf(client端)
Step 4.看 iperf 結果

Step 5.iperf 參數
Step 6.jperf 圖形(GUI) 介面的 iperf

Step 1.下載程式

通常我們在 Linux 下面可以透過 Iometer 去測試硬碟的效能速度,那網路呢!!要以免費最簡單使用的就算是 iperf 了.

Iperf 是由 NLANR( National Laboratory for Applied Network Research)所開發出來的工具,主要 iperf 可以用來量測網路的最大的 TCP / UDP  網路頻寬/效能,但僅僅如此如果你需要更精準的網路效能或是穩定度那建議使用 另外一套專業級的網路效能測試工具 – IxChariot (http://benjr.tw/470).不過我們先來看看 iperf 如何使用, iperf 並不是 Linux 系統預設套件,可以從 sourceforge 中下載. http://sourceforge.net/projects/iperf 它支援的作業系統包括了  linux, unix 和 window,採用 Server / Client 模式進行量測.

測試環境如下:
iperf01
基本上只要兩台 Linux 機台就可以做網路效能測試,當然兩張網卡速度要一致,並同時將這個程式安裝在 Server 和 Client 上面.

Step 2.安裝 iperf(Server端 IP:192.12.1.2)

如果是用 Ubuntu 就可以直接透過 #apt-get install iperf 來安裝,透過 apt-get 安裝的版本為 2.x ,但已經有 iperf 3.x 的版本可以使用.

[root@Server ~]# tar iperf
[root@Server ~]# cd iperf

依據你的系統配置出所需的環境變數

[root@Server iperf]# ./configure

編譯 Iperf

[root@Server iperf]# make

安裝 Iperf,非必要性剛剛在編譯實已經產生執行檔案在 iperf/src 下,安裝是將 iperf 放置至 /usr/local/bin/iperf

[root@Server iperf]# make install
[root@Server iperf]# iperf -s

Server 端的程式要先開,去監看 Client 端的封包!預設使用 TCP port 5001.TCP read/write buffer 預設是 8KB

Step 3.安裝 iperf(client端 IP:192.12.1.1)

[root@benjr ~]# tar iperf
[root@benjr ~]# cd iperf

依據你的系統配置出所需的環境變數

[root@benjr iperf]# ./configure

編譯 Iperf

[root@benjr iperf]# make

安裝 Iperf,非必要性剛剛在編譯實已經產生執行檔案在 iperf/src 下,安裝是將 iperf 放置至 /usr/local/bin/iperf

[root@benjr iperf]# make install
[root@benjr iperf]# iperf -c 192.12.1.2  -t 10 -i 5

#-c : server IP
#-t : 測量時間間隔為10秒
#-i : 每隔 5 秒將測量結果顯示出來,最後再算出平均值.

Step 4.看 iperf 結果

Server 端 IP:192.12.1.2

[root@Server ~]# iperf -s
————————————————————
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
————————————————————

client 端 IP:192.12.1.1

[root@benjr ~]# iperf -c 192.12.1.2 -t 10 -i 5
————————————————————
Client connecting to 192.12.1.2, TCP port 5001
TCP window size: 16.0 KByte (default)
————————————————————
[ 3] local 192.168.10.10 port 46647 connected with 192.12.1.2 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 5.0 sec 1.43 GBytes 2.46 Gbits/sec
[ 3] 5.0-10.0 sec 1.46 GBytes 2.52 Gbits/sec
[ 3] 0.0-10.0 sec 2.89 GBytes 2.49 Gbits/sec

顯示結果依序為1.執行時間  2.時間內所傳輸的總資料量. 3.頻寬為 #Mbits/sec 

Step 5.iperf 參數

-w n[KM]  指定 TCP window size (2~256KB)
-l n[KM] 指定 read/write buffer 大小(預設為 8k)
-Pn (大寫的P) client 端指定同時 (parallel) 跑幾個的 threads

[root@Server ~]# iperf -s -w 256k -l 64k
bind failed: Address already in use

Server listening on TCP port 5001
TCP window size: 256 KByte

Server 和 Client 需要用相同的參數才可以跑!

因為用了  -P4 參數,所以系統一次會建立 4 個連線,所以你在結果會看到 [4] [5] [6] [7] 個別連線跑出來的結果,以及 [SUM] 4 個連線加總得到的結果. 

[root@benjr ~]# iperf -c 192.12.1.2 -t 10 -w 256k -i 5 -l 64k -P4
————————————————————
Client connecting to 192.12.1.2, TCP port 5001
TCP window size: 256 KByte
————————————————————
[ 5] local 192.168.10.10 port 58809 connected with 192.12.1.2 port 5001
[ 3] local 192.168.10.10 port 58808 connected with 192.12.1.2 port 5001
[ 4] local 192.168.10.10 port 58807 connected with 192.12.1.2 port 5001
[ 6] local 192.168.10.10 port 58810 connected with 192.12.1.2 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0- 5.0 sec 1.17 GBytes 2.02 Gbits/sec
[ 3] 0.0- 5.0 sec 945 MBytes 1.59 Gbits/sec
[ 4] 0.0- 5.0 sec 1.00 GBytes 1.72 Gbits/sec
[ 6] 0.0- 5.0 sec 982 MBytes 1.65 Gbits/sec
[SUM] 0.0- 5.0 sec 4.06 GBytes 6.97 Gbits/sec
[ 5] 5.0-10.0 sec 1.24 GBytes 2.12 Gbits/sec
[ 5] 0.0-10.0 sec 2.41 GBytes 2.07 Gbits/sec
[ 3] 5.0-10.0 sec 1004 MBytes 1.69 Gbits/sec
[ 3] 0.0-10.0 sec 1.90 GBytes 1.64 Gbits/sec
[ 6] 5.0-10.0 sec 1.00 GBytes 1.72 Gbits/sec
[ 6] 0.0-10.0 sec 1.96 GBytes 1.68 Gbits/sec
[ 4] 5.0-10.0 sec 1015 MBytes 1.70 Gbits/sec
[SUM] 5.0-10.0 sec 4.21 GBytes 7.24 Gbits/sec
[ 4] 0.0-10.0 sec 1.99 GBytes 1.71 Gbits/sec
[SUM] 0.0-10.0 sec 8.27 GBytes 7.10 Gbits/sec

9 個網友的想法 “網路效能測試工具 “iperf"

  1. 自動參照通知: iperf – IPv6 – Benjr.tw

  2. 自動參照通知: Network Performance Test | Benjr.tw

  3. 自動參照通知: ConnectX®-3 EN 10 / 40 Gigabit Ethernet | Benjr.tw

  4. 自動參照通知: iperf – 統計 jitter 以及 packet loss | Benjr.tw

  5. 自動參照通知: iperf – MTU | Benjr.tw

  6. 自動參照通知: 常用的 Performance / Monitor 測試工具 | Benjr.tw

  7. 自動參照通知: qperf | Benjr.tw

  8. 自動參照通知: IxChariot | Benjr.tw

發表迴響