一般來說,我們採購的伺服器會對伺服器進行硬體效能評估,其中評估內容包括,CPU計算,硬碟讀寫,網絡卡效能等,偶爾也會進行整體的效能評估,那麼,在沒有上線之前,我們的硬體要怎麼來進行效能評估呢?
本篇文章對網絡卡效能進行線下測試評估。
測試方法為常規方法,工具使用為Netperf ,Netperf原理請自行學習。
還有其它一些其它的方法可以從不同方面來進行,大家可以從本篇文章找到一些靈感。
本片文章測試系統採用Ubuntu 12.04系統。
工具/原料
系統為類LINUX作業系統
網絡卡效能測試工具 Netperf
伺服器兩臺,一臺Server,一臺Client,伺服器為千兆網絡卡
測試工具Netperf安裝與服務開啟
安裝Netperf
Server端與Client端都需要安裝
在命令列下執行:
apt-get install netperf
直接安裝
安裝過程如下圖:
或者,下載netperf
下載地址:
下載完成後,解壓,安裝
在Server端開啟服務
在Server端命令列下執行:
netserver
啟動服務
TCP連線方式-批量資料傳輸測試
在Client傳送不同大小位元組的請求,檢視Server端對請求的應答
在命令列下執行以下命令:
netperf -H 10.34.70.26 -l 60 -- -m 4
其中最後一個引數4為4kb,測試時可以修改為8,16,32,64,128等,來檢視網絡卡對不同大小位元組的資料的響應速度
根據不同大小位元組的請求結果繪製網絡卡效能曲線
通過對不同位元組大小的資料的響應結果,用Execl將結果整理,合併為網絡卡的批量資料傳輸效能曲線。
結果類似下圖:
TCP連線方式-請求/應答模式測試
模擬建立一次TCP連線(TCP資料傳輸),在Client傳送不同大小位元組的請求,檢視Server端對請求的應答
在命令列下執行命令:
netperf -t TCP_RR -H 10.34.70.26 -- -r 32,128
上述命令表示
TCP_RR 代表一次TCP連線
-r 引數後表示 32 表示請求大小 ,128表示響應大小
可以通過更改 -r 後的引數來調節不同位元組來進行測試
模擬建立多次TCP連線(HTTP請求),在Client傳送不同大小位元組的請求,檢視Server端對請求的應答
在命令列下執行命令:
netperf -t TCP_CRR -H 10.34.70.26 -- -r 32,128
上述命令表示
TCP_CRR 代表每請求一次,建議一次TCP連線
-r 引數後表示 32 表示請求大小 ,128表示響應大小
可以通過更改 -r 後的引數來調節不同位元組來進行測試
根據不同大小位元組的請求結果繪製網絡卡效能曲線
通過對不同位元組大小的資料的響應結果,用Execl將結果整理,合併為網絡卡的批量資料傳輸效能曲線。
注意事項
本測試只是線下測試方法,且只用到了TCP方式,UDP方式可以通過修改測試引數來進行
測試過程中要不斷調節測試位元組大小,這樣才能從結果繪製網絡卡效能曲線
如果apt-get 安裝的netperf不能使用,建議使用原始碼包安裝
測試型別可以有TCP/UDP兩種型別