1. 程式人生 > >2012-9-17:交換機頻寬測試之iperf工具使用

2012-9-17:交換機頻寬測試之iperf工具使用

先來說說交換機的基本效能指標:

傳輸速率:這是我們最常聽見的,比如說某某交換機是百兆的、千兆的等等。這個百兆和千兆就是交換機的傳輸速率。他是交換機的各個埠的資料交換速度。目前常見的有10Mbps、100Mbps、1000Mbps,注意這裡是Mb不是MB,很多人為此不解,說百兆交換機的傳輸速度只有10M左右,其實是10M左右就對了,這裡不解釋,自己查查吧。對於自適應交換機,特點在於它能夠自動調節傳輸速率,以及全半單雙工模式。

背板頻寬:交換機各個介面處理器和資料匯流排之間所能吞吐的最大資料量,它標誌著交換機總的資料交換能力。當交換機的所有埠容量乘以埠數量之和的2倍小於背板頻寬時,能實現全雙工無阻塞交換,證明交換機具有發揮最大資料交換效能的條件。

埠數:這個指標沒什麼可說的。

我在網上下載了一個iperf工具來測試交換機的頻寬,遇到奇怪的問題,交換機兩端連結的電腦不一樣,測試出來的最大頻寬竟然有差別,我很納悶。弄半天,最後發現-l引數(小寫的L,不是大寫的i),這個引數可以設定緩衝大小,iperf的發包大小貌似沒辦法固定(至少我沒發現),只能通過-M引數設定最大分段大小,即所謂的MSS,也就是tcp最大mtu(maximum transport unit)值。

另外我在測試的過程中發現,如果使用-d引數進行雙向測試的時候,交換機連線的是兩個不同作業系統,例如windows和linux之間,當客戶端建在windows系統上時,還必須在windows上建立一個服務端才能進行雙向測試,否則只能單向傳送資料到linux系統;如果客戶端建立在linux系統上時就不存在這個問題,只需在windows上建立一個服務端即可進行雙向測試。

一下為我測試時使用的引數:

服務端:iperf –s -i 1 –w 1M –l 1M –p PortNum

客戶端:iperf –c Host_IP –i 1 –w 1M –t 300 –d –l 1M –p PortNum

我將我是用的引數列舉如下:-M引數未使用

-i sec 以秒為單位顯示報告間隔,eg:iperf -c 222.35.11.23 -i 2

-l 緩衝區大小,預設是8KB,eg:iperf-c 222.35.11.23 -l 16(這個簡介影響發包大小,從而影響測試結果,需要選取合適大小,怎麼選我的辦法是參考-w的引數

-w 指定TCP視窗大小,預設是8KB

-M 設定TCP資料包的最大mtu值(設定

MSS最大分段大小,即最大傳輸大小的值,linux系統上提示系統不支援該操作,可能和版本有關,windows上可以設定。

-d 同時進行雙向傳輸測試

-t 測試時間,預設10秒,eg:iperf -c 222.35.11.23 -t 5

iperf的使用手冊網上到處都是,可以下一個看看,有問題歡迎留言討論。