服務(wù)器性能測(cè)試的常見(jiàn)工具
眾所周知,服務(wù)器是整個(gè)網(wǎng)絡(luò)系統(tǒng)和計(jì)算平臺(tái)的核心,許多重要的數(shù)據(jù)都保存在服務(wù)器上,很多網(wǎng)絡(luò)服務(wù)都在服務(wù)器上運(yùn)行,因此服務(wù)器性能的好壞決定了整個(gè)應(yīng)用系統(tǒng)的性能。
現(xiàn)在市面上不同品牌、不同種類的服務(wù)器有很多種,用戶在選購(gòu)時(shí),怎樣從紛繁的型號(hào)中選擇出所需要的,適合于自己應(yīng)用的服務(wù)器產(chǎn)品,僅僅從配置上判別是不夠的,最好能夠通過(guò)實(shí)際測(cè)試來(lái)篩選。而各種的評(píng)測(cè)軟件有很多種,你應(yīng)該選擇哪個(gè)軟件測(cè)試?下面就介紹一些較典型的測(cè)試工具:
(一)服務(wù)器整機(jī)系統(tǒng)性能測(cè)試工具
一臺(tái)服務(wù)器系統(tǒng)的性能可以按照處理器、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)幾部分來(lái)劃分,而針對(duì)不同的應(yīng)用,可能會(huì)對(duì)某些部分的性能要求高一些。
Iometer(www.iometer.org):存儲(chǔ)子系統(tǒng)讀寫(xiě)性能測(cè)試
Iometer是Windows系統(tǒng)下對(duì)存儲(chǔ)子系統(tǒng)的讀寫(xiě)性能進(jìn)行測(cè)試的軟件。可以顯示磁盤(pán)系統(tǒng)的最大IO能力、磁盤(pán)系統(tǒng)的最大吞吐量、CPU使用率、錯(cuò)誤信息等。用戶可以通過(guò)設(shè)置不同的測(cè)試的參數(shù),有存取類型(如sequential ,random)、讀寫(xiě)塊大小(如64K、256K),隊(duì)列深度等,來(lái)模擬實(shí)際應(yīng)用的讀寫(xiě)環(huán)境進(jìn)行測(cè)試。
Iometer 配置界面
Iometer操作簡(jiǎn)單,可以錄制測(cè)試腳本,可以準(zhǔn)確有效的反映存儲(chǔ)系統(tǒng)的讀寫(xiě)性能,為各大服務(wù)器和存儲(chǔ)廠商所廣泛采用。
Sisoft Sandra(www.sisoftware.co.uk):WINDOWS下基準(zhǔn)評(píng)測(cè)
SiSoft發(fā)行的Sandra系列測(cè)試軟件是Windows系統(tǒng)下的基準(zhǔn)評(píng)測(cè)軟件。此軟件有超過(guò)三十種以上的測(cè)試項(xiàng)目,能夠查看系統(tǒng)所有配件的信息,而且能夠?qū)Σ糠峙浼ㄈ?a title="CPU" style="color: #000000" href="/./php/r.php?url=http%3A%2F%2Fproduct.it168.com%2Flist%2Fb%2F0217_1.shtml" target="_blank">CPU、內(nèi)存、硬盤(pán)等)進(jìn)行打分(benchmark),并且可以與其它型號(hào)硬件的得分進(jìn)行對(duì)比。另外,該軟件還有系統(tǒng)穩(wěn)定性綜合測(cè)試、性能調(diào)整向?qū)У雀郊庸δ堋?/p>
Sisoft Sandra 測(cè)試界面
Sisoft Sandra軟件在最近發(fā)布的Intel bensley平臺(tái)上測(cè)試的內(nèi)存帶寬性能并不理想,不知道采用該軟件測(cè)試的FBD內(nèi)存性能是否還有參考價(jià)值,或許軟件應(yīng)該針對(duì)FBD內(nèi)存帶寬的測(cè)試項(xiàng)目做一個(gè)升級(jí)。
Iozone(www.iozone.org):linux下I/O性能測(cè)試
現(xiàn)在有很多的服務(wù)器系統(tǒng)都是采用linux操作系統(tǒng),在linux平臺(tái)下測(cè)試I/O性能可以采用iozone。
iozone是一個(gè)文件系統(tǒng)的benchmark工具,可以測(cè)試不同的操作系統(tǒng)中文件系統(tǒng)的讀寫(xiě)性能??梢詼y(cè)試Read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write 等等不同的模式下的硬盤(pán)的性能。測(cè)試所有這些方面,生成excel文件,另外, iozone還附帶了用gnuplot畫(huà)圖的腳本。
該軟件用在大規(guī)模機(jī)群系統(tǒng)上測(cè)試NFS的性能,更加具有說(shuō)服力。
Netperf(www.netperf.org):網(wǎng)絡(luò)性能測(cè)試
Netperf可以測(cè)試服務(wù)器網(wǎng)絡(luò)性能,主要針對(duì)基于TCP或UDP的傳輸。Netperf根據(jù)應(yīng)用的不同,可以進(jìn)行不同模式的網(wǎng)絡(luò)性能測(cè)試,即批量數(shù)據(jù)傳輸(bulk data transfer)模式和請(qǐng)求/應(yīng)答(request/reponse)模式。Netperf測(cè)試結(jié)果所反映的是一個(gè)系統(tǒng)能夠以多快的速度向另外一個(gè)系統(tǒng)發(fā)送數(shù)據(jù),以及另外一個(gè)系統(tǒng)能夠以多塊的速度接收數(shù)據(jù)。
Netperf工具以client/server方式工作。server端是netserver,用來(lái)偵聽(tīng)來(lái)自client端的連接,client端是netperf,用來(lái)向server發(fā)起網(wǎng)絡(luò)測(cè)試。在client與server之間,首先建立一個(gè)控制連接,傳遞有關(guān)測(cè)試配置的信息,以及測(cè)試的結(jié)果;在控制連接建立并傳遞了測(cè)試配置信息以后,client與server之間會(huì)再建立一個(gè)測(cè)試連接,用來(lái)來(lái)回傳遞著特殊的流量模式,以測(cè)試網(wǎng)絡(luò)的性能。 #p#page_title#e#
對(duì)于服務(wù)器系統(tǒng)來(lái)說(shuō),網(wǎng)絡(luò)性能顯得尤其重要,有些服務(wù)器上為了節(jié)省成本,采用了桌面級(jí)的網(wǎng)絡(luò)芯片,性能怎樣,用這個(gè)軟件一測(cè)便知了。
以上介紹的這幾款測(cè)試工具都是可以免費(fèi)從網(wǎng)上下載的非商業(yè)軟件,但是其測(cè)試結(jié)果和認(rèn)可程度均是為大多數(shù)使用者所認(rèn)同的。你可以根據(jù)自己的應(yīng)用需求選擇不同的軟件進(jìn)行測(cè)試。
(二)針對(duì)應(yīng)用的測(cè)試工具
隨著web應(yīng)用的增多,服務(wù)器應(yīng)用解決方案中以Web為核心的應(yīng)用也越來(lái)越多, 很多公司各種應(yīng)用的架構(gòu)都以web應(yīng)用為主。一般的web測(cè)試和以往的應(yīng)用程序的測(cè)試的側(cè)重點(diǎn)不完全相同,在基本功能已經(jīng)通過(guò)測(cè)試后,就要進(jìn)行重要的系統(tǒng)性能測(cè)試了。系統(tǒng)的性能是一個(gè)很大的概念,覆蓋面非常廣泛,對(duì)一個(gè)軟件系統(tǒng)而言包括執(zhí)行效率、資源占用率、穩(wěn)定性、安全性、兼容性、可靠性等等,以下重點(diǎn)從負(fù)載壓力方面來(lái)介紹服務(wù)器系統(tǒng)性能的測(cè)試。系統(tǒng)的負(fù)載和壓力需要采用負(fù)載測(cè)試工具進(jìn)行,虛擬一定數(shù)量的用戶來(lái)測(cè)試系統(tǒng)的表現(xiàn),看是否滿足預(yù)期的設(shè)計(jì)指標(biāo)要求。負(fù)載測(cè)試的目標(biāo)是測(cè)試當(dāng)負(fù)載逐漸增加時(shí),系統(tǒng)組成部分的相應(yīng)輸出項(xiàng),例如通過(guò)量、響應(yīng)時(shí)間、CPU負(fù)載、內(nèi)存使用等如何決定系統(tǒng)的性能,例如穩(wěn)定性和響應(yīng)等。
負(fù)載測(cè)試一般使用工具完成,有LoadRunner,Webload,QALoad等,主要的內(nèi)容都是編寫(xiě)出測(cè)試腳本,腳本中一般包括用戶常用的功能,然后運(yùn)行,得出報(bào)告。
使用壓力測(cè)試工具對(duì)web服務(wù)器進(jìn)行壓力測(cè)試。測(cè)試可以幫助找到一些大型的問(wèn)題,如死機(jī)、崩損、內(nèi)存泄漏等,因?yàn)橛行┐嬖趦?nèi)存泄漏問(wèn)題的程序,在運(yùn)行一兩次時(shí)可能不會(huì)出現(xiàn)問(wèn)題,但是如果運(yùn)行了成千上萬(wàn)次,內(nèi)存泄漏得越來(lái)越多,就會(huì)導(dǎo)致系統(tǒng)崩滑。
Loadrunner:預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具
目前,業(yè)界中有不少能夠做性能和壓力測(cè)試的工具,Mercury(美科利)Interactive公司的LoadRunner是其中的佼佼者,也已經(jīng)成為了行業(yè)的規(guī)范,目前最新的版本8.1。
LoadRunner 是一種預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具,通過(guò)模擬上千萬(wàn)用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來(lái)確認(rèn)和查找問(wèn)題,LoadRunner 能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試,LoadRunner 適用于各種體系架構(gòu),能支持廣范的協(xié)議和技術(shù)(如Web、Ftp、Database等),能預(yù)測(cè)系統(tǒng)行為并優(yōu)化系統(tǒng)性能。它通過(guò)模擬實(shí)際用戶的操作行為和實(shí)行實(shí)時(shí)性能監(jiān)測(cè),來(lái)幫助您更快的查找和發(fā)現(xiàn)問(wèn)題。Loadrunner是一個(gè)強(qiáng)大有力的壓力測(cè)試工具,它的腳本可以錄制生成,自動(dòng)關(guān)聯(lián)。測(cè)試場(chǎng)景面向指標(biāo),實(shí)現(xiàn)了多方監(jiān)控。而且測(cè)試結(jié)果采用圖表顯示,可以自由拆分組合。
Loadrunner 測(cè)試窗口界面
通過(guò)Loadrunner的測(cè)試結(jié)果圖表對(duì)比,你可以尋找出系統(tǒng)瓶頸的原因,一般來(lái)說(shuō)可以按照服務(wù)器硬件、網(wǎng)絡(luò)、應(yīng)用程序、操作系統(tǒng)、中間件的順序進(jìn)行分析。
Loadrunner 分析窗口界面
Loadrunner是一款收費(fèi)軟件,根據(jù)測(cè)試項(xiàng)目和虛擬用戶數(shù)目的不同而花費(fèi)不同的費(fèi)用。不過(guò)你可以下載到免費(fèi)使用10天的測(cè)試版本
Webload:WEB性能壓力測(cè)試
webload是RadView公司推出的一個(gè)性能測(cè)試和分析工具,它讓web應(yīng)用程序開(kāi)發(fā)者自動(dòng)執(zhí)行壓力測(cè)試;webload通過(guò)模擬真實(shí)用戶的操作,生成壓力負(fù)載來(lái)測(cè)試web的性能。
用戶創(chuàng)建的是基于javascript的測(cè)試腳本,稱為議程agenda,用它來(lái)模擬客戶的行為,通過(guò)執(zhí)行該腳本來(lái)衡量web應(yīng)用程序在真實(shí)環(huán)境下的性能。當(dāng)前最高版本是6.0。webload提供巡航控制器cruise control的功能,利用巡航控制器,可以預(yù)定義web應(yīng)用程序應(yīng)該滿足的性能指標(biāo),然后測(cè)試系統(tǒng)是否滿足這些需求指標(biāo);cruise control能夠自動(dòng)把負(fù)載加到web應(yīng)用程序,并將在此負(fù)荷下能夠訪問(wèn)程序的客戶數(shù)量生成報(bào)告。 #p#page_title#e#
webload能夠在測(cè)試會(huì)話執(zhí)行期間對(duì)監(jiān)測(cè)的系統(tǒng)性能生成實(shí)時(shí)的報(bào)告,這些測(cè)試結(jié)果通過(guò)一個(gè)易讀的圖形界面顯示出來(lái),并可以導(dǎo)出到excel和其他文件里。
Webload 報(bào)告界面
這兩個(gè)軟件的功能雖然強(qiáng)大,并且可以自動(dòng)生成測(cè)試報(bào)告,但其終究是一個(gè)工具,如果你想真正的定位服務(wù)器性能的好壞和性能的瓶頸所在,需要使用工具的人對(duì)于測(cè)試軟件的方方面面都要有了解,比如軟件體系構(gòu)架,網(wǎng)絡(luò)拓?fù)洌?a title="服務(wù)器" style="color: #000000" href="/./php/r.php?url=http%3A%2F%2Fserver.it168.com%2F" target="_blank">服務(wù)器硬件等知識(shí)。
結(jié)語(yǔ):免費(fèi)與付費(fèi)的選擇
無(wú)論什么工具,基本的技術(shù)都是利用線程技術(shù)模仿和虛擬用戶,在這里主要的難點(diǎn)在于測(cè)試腳本的編寫(xiě),每種工具使用的腳本都不一樣,但是大多數(shù)工具都提供錄制功能就算是不會(huì)編碼的測(cè)試人員同樣可以測(cè)試。
以上介紹的這些軟件,只是眾多評(píng)測(cè)軟件中比較典型的幾個(gè),筆者曾經(jīng)見(jiàn)過(guò)有的用戶針對(duì)自己的應(yīng)用專門(mén)寫(xiě)的測(cè)試軟件,這樣可以很快篩選出適合于自己的服務(wù)器產(chǎn)品。對(duì)于一般的企業(yè)用戶來(lái)說(shuō),根據(jù)自己的應(yīng)用需求,選擇合適的評(píng)測(cè)軟件是很重要的。有時(shí)候不必非得選擇昂貴的商業(yè)軟件,用那些免費(fèi)的軟件也可以很好的衡量服務(wù)器的性能。當(dāng)然如果是需要搭配自己的應(yīng)用軟件在服務(wù)器上的測(cè)試,就需要花費(fèi)財(cái)力購(gòu)買正版的付費(fèi)軟件。這樣可以更加準(zhǔn)確的測(cè)試性能并定位導(dǎo)致系統(tǒng)瓶頸的原因了。