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