iperf
perf 是個網路效能測試工具 , 可以測試頻寬、lost rate 等等
windows 和 linux 上都可以使用 , 互打沒有問題
首先 , 要準備 2 臺電腦 , 一臺當 client ( 發送封包 ) , 一臺當 server ( 接收封包 )
case 1 :
上圖是在 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 :
上圖是在 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 收到的順序不對
上圖是在 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 :
此 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
若將 client 送出的 data rate 限制在 40 Mbps
lost datagrams 就會明顯改善許多
case 4 :
用 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] 四個資訊
實用網站
待續
看完文章請按 讚 or 推 , 感謝啦 ~