天天看點

總結:伺服器壓力測試軟體

本文介紹了幾個比較典型的伺服器評測軟體,無論什麼評測工具,基本的技術都是利用線程技術模仿和虛拟

使用者,在這裡主要的難點在于測試腳本的編寫,每種工具使用的腳本都不一樣,但是大多數工具都提供錄制

功能就算是不會編碼的測試人員同樣可以測試。衆所周知,伺服器是整個網絡系統和計算平台的核心,許多

重要的資料都儲存在伺服器上,很多網絡服務都在伺服器上運作,是以伺服器性能的好壞決定了整個應用系

統的性能。現在市面上不同品牌、不同種類的伺服器有很多種,使用者在選購時,僅僅從配置上判别是不夠的

,最好能夠通過實際測試來篩選,下面就介紹一些較典型的測試工具:

  (一)伺服器整機系統性能測試工具

  一台伺服器系統的性能可以按照處理器、記憶體、存儲、網絡幾部分來劃分,而針對不同的應用,可能會

對某些部分的性能要求高一些。

  Iometer(www.iometer.org):存儲子系統讀寫性能測試

  Iometer是Windows系統下對存儲子系統的讀寫性能進行測試的軟體。可以顯示磁盤系統的最大IO能力、

磁盤系統的最大吞吐量、CPU使用率、錯誤資訊等。使用者可以通過設定不同的測試的參數,有存取類型(如

sequential ,random)、讀寫塊大小(如64K、256K),隊列深度等,來模拟實際應用的讀寫環境進行測試。

Iometer操作簡單,可以錄制測試腳本,可以準确有效的反映存儲系統的讀寫性能,為各大伺服器和存儲廠商

所廣泛采用。

  Sisoft Sandra(www.sisoftware.co.uk):WINDOWS下基準評測

  SiSoft發行的Sandra系列測試軟體是Windows系統下的基準評測軟體。此軟體有超過三十種以上的測試項

目,能夠檢視系統所有配件的資訊,而且能夠對部配置設定件(如CPU、記憶體、硬碟等)進行打分(benchmark),

并且可以與其它型号硬體的得分進行對比。另外,該軟體還有系統穩定性綜合測試、性能調整向導等附加功

能。Sisoft Sandra軟體在最近釋出的Intel bensley平台上測試的記憶體帶寬性能并不理想,不知道采用該軟

件測試的FBD記憶體性能是否還有參考價值,或許軟體應該針對FBD記憶體帶寬的測試項目做一個更新。

  Iozone(www.iozone.org):linux下I/O性能測試

  現在有很多的伺服器系統都是采用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的測試結果圖表對比,你可以尋找出系統瓶頸的原因,一般來說可以按照伺服器硬體、網絡、應

用程式、作業系統、中間件的順序進行分析。

  Webload:WEB性能壓力測試

  webload是RadView公司推出的一個性能測試和分析工具,它讓web應用程式開發者自動執行壓力測

試;webload通過模拟真實使用者的操作, 生成壓力負載來測試web的性能。使用者建立的是基于javascript的測試

腳本,稱為議程agenda,用它來模拟客戶的行為,通過執行該腳本來衡量 web應用程式在真實環境下的性能。當

前最高版本是6.0。webload提供巡航控制器cruise control的功能,利用巡航控制器,可以預定義web應用程式

應該滿足的性能名額,然後測試系統是否滿足這些需求名額;cruise control能夠自動把負載加到web應用程式

,并将在此負荷下能夠通路程式的客戶數量生成報告。webload能夠在測試會話執行期間對監測的系統性能生

成實時的報告,這些測試結果通過一個易讀的圖形界面顯示出來,并可以導出到excel和其他檔案裡。這兩個軟

件的功能雖然強大,并且可以自動生成測試報告,但其終究是一個工具,如果你想真正的定位伺服器性能的

好壞和性能的瓶頸所在,需要使用工具的人對于測試軟體的方方面面都要有了解,比如軟體體系構架,網絡

拓撲,伺服器硬體等知識。