Linux 網絡性能測試工具 iperf 的安裝和使用


簡介:
Iperf是一個網絡性能測試工具。可以測試TCP和UDP帶寬質量,可以測量最大TCP帶寬,具有多種參數和UDP特性,可以報告帶寬,延遲抖動和數據包丟失。
Iperf在Linux和windows平台均有二進制版本供自由使用

安裝:
 #安裝好軟件倉庫包

1 .  用yum軟件倉庫安裝

   yum -y install  epel-release

 

   yum install iperf  -y

參數說明:

-s 以server模式啟動。#iperf -s
-c host以client模式啟動。host是server端地址。#iperf -c serverip

通用參數:
-f [kmKM] 分別表示以Kbits, Mbits, KBytes, MBytes顯示報告,默認以Mbits為單位,#iperf -c 192.168.100.6 -f K
-i sec 以秒為單位顯示報告間隔,#iperf -c 192.168.100.6 -i 2
-l 緩沖區大小,默認是8KB,#iperf -c 192.168.100.6 -l 64
-m 顯示tcp最大mtu值
-o 將報告和錯誤信息輸出到文件#iperf -c 192.168.100.6 -o ciperflog.txt
-p 指定服務器端使用的端口或客戶端所連接的端口#iperf -s -p 5001;iperf -c 192.168.100.55 -p 5001
-u 使用udp協議
-w 指定TCP窗口大小,默認是8KB
-B 綁定一個主機地址或接口(當主機有多個地址或接口時使用該參數)
-C 兼容舊版本(當server端和client端版本不一樣時使用)
-M 設定TCP數據包的最大mtu值
-N 設定TCP不延時
-V 傳輸ipv6數據包

server專用參數:
-D 以服務方式運行。#iperf -s -D
-R 停止iperf服務。針對-D,#iperf -s -R
client端專用參數:
-d 同時進行雙向傳輸測試
-n 指定傳輸的字節數,#iperf -c 192.168.100.6 -n 1024000
-r 單獨進行雙向傳輸測試
-t 測試時間,默認20秒,#iperf -c 192.168.100.6 -t 5
-F 指定需要傳輸的文件
-T 指定ttl值

 

測量服務器帶寬

使用iperf工具測試服務器帶寬,它分為服務端與客戶端,兩邊都要安裝iperf工具。在Linux通過yum或者apt-get即可直接安裝。

服務端(假設IP192.168.1.11)運行iperf服務:

#iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) 

這是一台上下行帶寬都接近100Mbits/sec的服務器,實測數值不應該與該數值偏離太遠。

客戶端

測試上行和下行帶寬

$iperf  -c 192.168.1.11 -t 60 -d ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ ------------------------------------------------------------ Client connecting to 45.32.64.187, TCP port 5001 TCP window size: 197 KByte (default) ------------------------------------------------------------ [ 4] local 104.250.144.8 port 50040 connected with 106.14.26.11 port 5001 [ 5] local 104.250.144.8 port 5001 connected with 106.14.26.11 port 34386 [ ID] Interval Transfer Bandwidth [ 4] 0.0-60.0 sec 658 MBytes 92.0 Mbits/sec #上行帶寬 [ 5] 0.0-60.4 sec 628 MBytes 87.4 Mbits/sec #下行帶寬

從測試結果看,上行帶寬為92.0Mbits/sec, 下行帶寬為87.2Mbits/sec

 

測量延遲、抖動和丟包率

指標

  • 帶寬:與服務商提供的最大帶寬接近
  • 延遲:<100ms
  • 抖動:<20ms
  • 丟包率:<1%

延遲,抖動和丟包率,直接使用ping做測試即可。如果想測量這個值,建議抓100個包測試:

$ ping -c 100 www.baidu.com PING www.a.shifen.com (163.177.151.109): 56 data bytes 64 bytes from 163.177.151.109: icmp_seq=0 ttl=55 time=26.639 ms 64 bytes from 163.177.151.109: icmp_seq=1 ttl=55 time=24.329 ms 64 bytes from 163.177.151.109: icmp_seq=2 ttl=55 time=24.794 ms 64 bytes from 163.177.151.109: icmp_seq=3 ttl=55 time=22.709 ms 64 bytes from 163.177.151.109: icmp_seq=4 ttl=55 time=39.994 ms 64 bytes from 163.177.151.109: icmp_seq=5 ttl=55 time=50.786 ms 。。。省略 ^C --- www.a.shifen.com ping statistics --- 100 packets transmitted, 100 packets received, 0.0% packet loss #最后這個百分比就是丟 包率 round-trip min/avg/max/stddev = 21.505/26.743/50.786/6.613 ms #分別表示最小延遲、平均延遲、最大延遲、抖動(抖動就是延遲標准差)

根據上面的結果,我們得到結論:

延遲:26.743ms 抖動: 6.613ms 丟包率: 0.0%

符合指標要求,所以訪問百度一定很快。(這里假設帶寬是沒問題的,測量到服務器的帶寬需要服務器支持,所以是測量不了的)


免責聲明!

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



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