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