perf 是個網路效能測試工具 , 可以測試頻寬、lost rate 等等

windows 和 linux 上都可以使用 , 互打沒有問題

首先 , 要準備 2 臺電腦 , 一臺當 client ( 發送封包 ) , 一臺當 server ( 接收封包 )

 

case 1 :

iperf.jpg

 

上圖是在 windows 上的 iperf ( version 2.0.5 )

iperf -c iperf.it-north.net -n 1000m -u -i 1 -b 1000m

參數說明

-c iperf.it-north.net : -c 表示當成 client 並且連線到 iperf.it-north.net

    iperf.it-north.net 是 public 的 iperf server

    也可以寫成 -c 82.200.209.194 , 改用 ip 的方式

-n 1000m : 要傳送的 byte , 1000m = 1000MBytes

-u : 使用 udp 傳送

-i 1 : 每 1 秒印出訊息

-b 1000m : 設定頻寬 ( bandwidth ) , 也就是傳送的速度

    1000m = 1000mbps , 此選項只能用在 UDP , 所以要搭配 -u

 

此 case 沒有 Server Report , 因為最後沒有收到 server 送來的封包

不清楚 server 到底有沒有收到

只知道自己送出的 bandwidth

若是自己架的 iperf server , 可以檢查封包是否被 firewall 擋住

 

case 2 :

iperf client ipv6.jpg

 

上圖是在 windows 上的 iperf ( version 2.0.5 )

iperf -V -c 2001:b021:34:7f::1 -n 1m -u -i 1 -b 1m

參數說明

-V : 使用 ipv6 protocol , 所以 -c 後面是 ipv6 address

 

最後會收到 server 送來的封包 , 顯示 Server Report , 告訴你結果

[  3]  0.0- 8.4 sec  1.00 MBytes   999 Kbits/sec   0.656 ms    0/  713 (0%)

0.0- 8.4 sec  1.00 MBytes ==> 8.4 秒內傳了 1 MByte

999 Kbits/sec ==> 平均傳送速度 ( data rate )

0.656 ms ==> jitter

0/  713 (0%) ==> 遺失 0 個 datagram ( Lost Datagrams )

傳送 713 個 datagram ( Total Datagrams ) , 0% 的遺失率

[  3]  0.0- 8.4 sec  1 datagrams received out-of-order

有 1 個 datagram 收到的順序不對

 

iperf server ipv6.png

 

上圖是在 linux 上的 iperf ( version 2.0.5 )

iperf -s -u -V -i 1

參數說明

-s : 代表當作 server

-V : 若要讓 client 用 ipv6 測試 , 要加這個 option

 

server 這端可以看到每個時段的 jitter , lost datagrams , total datagrams

 

case 3 :

iperf client lost datagrams.jpg

 

此 case 是有 lost datagrams , 59 % 遺失

client 送出 100 MBytes , 平均 data rate = 100 Mbits/sec

server 收到 41.1 MBytes , 平均 data rate = 40.2 Mbits/sec

由此可推知 , client 和 server 之間的頻寬約 40 Mbps

client 送太快了 , 超過的部分就會 lost

 

iperf client limit bandwidth.jpg

 

若將 client 送出的 data rate 限制在 40 Mbps

lost datagrams 就會明顯改善許多

 

case 4 :

iperf client parallel data length.jpg

 

用 IPv4 測試

iperf -c 192.168.6.1 -n 2m -u -i 1 -b 10m -l 1000 -P 4

參數說明

-l : 指定載送封包的大小 , 單位是 byte

-P 4 : 同時建立 4 條連線 , 所以會看到 [3] [4] [5] [6] 四個資訊

 

實用網站

https://iperf.fr/

 

待續

看完文章請按 讚 or 推 , 感謝啦 ~ 

相關文章