性能測試過程中的網(wǎng)絡(luò)帶寬及流量監(jiān)視討論
來源: 浪潮軟件評測實驗室 作者:孟建 發(fā)表日期: 2009-1-15 10:23:49 閱讀次數(shù): 777
1. 概述在性能測試過程中,隨著B/S結(jié)構(gòu)網(wǎng)絡(luò)應(yīng)用的越來流行,界面元素的不斷豐富、系統(tǒng)并發(fā)用戶量的不斷增加,在性能測試過程中,對網(wǎng)絡(luò)帶寬的消耗越來越大。在測試中,如何以前得測試環(huán)境下的實際網(wǎng)絡(luò)帶寬情況;如何保證測試過程中不因為網(wǎng)絡(luò)帶寬造成系統(tǒng)的瓶頸從而影響性能測試結(jié)果的準(zhǔn)確性,如何確認現(xiàn)有的網(wǎng)絡(luò)傳輸設(shè)備在大負載下能夠穩(wěn)定的進行網(wǎng)絡(luò)數(shù)據(jù)的傳輸與交換……在現(xiàn)在,已經(jīng)成了性能測試中必須要考慮的一個問題。 2. 測試環(huán)境中最大網(wǎng)絡(luò)流量的確定2.1 最簡單的網(wǎng)絡(luò)流量測量方法l 下載速度 最簡單的網(wǎng)絡(luò)流量測試,莫過于通過一些網(wǎng)絡(luò)下載工具來對兩點之間的網(wǎng)絡(luò)傳輸帶寬進行測試。比如使用Flashget(http/ftp)、flashFXP(ftp,上傳/下載)等工具進行性能測試。 測試網(wǎng)絡(luò)的下載帶寬,如果采用HTTP協(xié)議,可以將一個較大的文件放置在應(yīng)用中可以通過HTTP協(xié)議訪問的目錄下,然后通過下載工具下載這個文件,這樣,就可以在下載工具的流量顯示中,大體了解到當(dāng)前網(wǎng)絡(luò)的性能情況。同時,也可以采用FTP協(xié)議進行數(shù)據(jù)的下載,來測試網(wǎng)絡(luò)的帶寬情況(特別是在Unix、Linux環(huán)境下,由于系統(tǒng)默認都開通了FTP服務(wù),所以,在通過這種方式測試帶寬的時候,相對方便很多)。 l 上傳速度 通過HTTP方式進行網(wǎng)絡(luò)上傳帶寬的測試,一般相對較復(fù)雜,而且也不夠準(zhǔn)確,很難得出最網(wǎng)絡(luò)最大上傳帶寬。這種情況下,一般通過FTP工具進行ftp文件的上傳,通過這種方式來進行網(wǎng)絡(luò)帶寬的測試。
(圖:使用FlashFXP進行網(wǎng)絡(luò)下載的帶寬測試) 采用這種方式進行測試,最大的一個優(yōu)點就是簡單易行,可以相當(dāng)方便的對當(dāng)前測試環(huán)境下的網(wǎng)絡(luò)傳輸帶寬進行。 而采用這種方式的缺點也很明顯:測試結(jié)果不夠準(zhǔn)確。無法模擬多種網(wǎng)絡(luò)請求下的網(wǎng)絡(luò)帶寬情況;無法進行大并發(fā)請求下復(fù)雜數(shù)據(jù)類型傳輸?shù)木W(wǎng)絡(luò)帶寬測試(特別是某些低檔網(wǎng)絡(luò)交換設(shè)備,在處理請求較少時,可以達到設(shè)備上標(biāo)稱的帶寬,但是當(dāng)并發(fā)請求數(shù)量增大之后,帶寬迅速下降);無法提供一些相對詳細的網(wǎng)絡(luò)信息,如:震動、丟包率、最大段和最大傳輸單元大小等統(tǒng)計信息。 2.2 使用Ipref進行網(wǎng)絡(luò)流量測試Iperf 是一個 TCP/IP 和 UDP/IP 的性能測量工具,能夠提供網(wǎng)絡(luò)吞吐率信息,以及震動、丟包率、最大段和最大傳輸單元大小等統(tǒng)計信息;從而能夠更好的幫助我們測試網(wǎng)絡(luò)性能,定位網(wǎng)絡(luò)瓶頸。 Iperf是一個免費的DOS下的命令行工具,這樣,我們可以很方便的在Windows平臺下使用這個工具,同時,他也是一個使用C與C++語言混合編寫的開源軟件,在SourceForge(project地址:http:///projects/iperf)上可以下載到它最新的源碼,我們在自己編譯以后,就可以在各個操作系統(tǒng)上進行使用。 為了方便大家使用,在Sourceforge上也提供了一個用java開發(fā)出界面的Jperf(實際上就是用Java給 Iperf做了個shell程序)
(圖:Jperf的界面) 下面先說說Iperf的使用參數(shù)。在命令行中輸入:“iperf –h”,則會有如下的幫助信息:
注意:參數(shù)區(qū)分大小寫 相關(guān)參數(shù)的簡單中文解釋如下(轉(zhuǎn)自網(wǎng)絡(luò))
備注:相關(guān)網(wǎng)絡(luò)名詞的詳細說明,請參考TCP/IP協(xié)議相關(guān)內(nèi)容 使用入門: 下面是以一種最基本的方式來使用Iperf進行網(wǎng)絡(luò)帶寬的測量。 需要測試網(wǎng)絡(luò)帶寬的兩臺機器上分別復(fù)制一份Iperf,其中一臺作為Server,一臺作為Client。 在Server端執(zhí)行命令
此時,Server端的Iperf作為一個服務(wù)開始監(jiān)聽,等待Client端發(fā)過來的請求。默認監(jiān)聽端口5001,可以通過參數(shù)進行修改。 在Client端執(zhí)行命令
下面是一個測試實例: 1)在server端運行“iperf –s”,則會有下面的顯示
2) 另外啟動一命令行窗口,執(zhí)行“>iperf -c localhost -t 10 -i 命令解釋:與在localhost的server端進行測試,測試時間10s,每1s統(tǒng)計一次數(shù)據(jù) 在客戶端顯窗口顯示的內(nèi)容會如下。
此時,server端顯示如下
用Jperf作為客戶端進行測試時,結(jié)果如下。其最大的優(yōu)點是方便控制,顯示結(jié)果比較直觀。 相關(guān)鏈接: 兩個好像都是Iperf的網(wǎng)站,不過在Sourceforge上的更新較快,版本較新,但是未提供windows下的可執(zhí)行文件,僅提供源代碼。第一個網(wǎng)站上提供了1.7版本的exe文件。但是Jperf版本較低。 |
|