您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源性能測(cè)試工具 > Jmeter
JMeter在Web Services性能測(cè)試中的應(yīng)用
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/2/22 13:52:20 ] 推薦標(biāo)簽:

    性能測(cè)試是任何分布式或Web應(yīng)用程序測(cè)試計(jì)劃的重要組成部分。在計(jì)劃和開發(fā)周期中進(jìn)行性能評(píng)價(jià),可以保證交付給客戶的應(yīng)用程序滿足客戶對(duì)于高負(fù)載、可用性和可伸縮性的要求。提前確定軟件的負(fù)載限制可以為適當(dāng)?shù)剡M(jìn)行系統(tǒng)配置提供幫助,從而避免出現(xiàn)意料之外的故障。系統(tǒng)性能分析中要處理的幾個(gè)問題是:系統(tǒng)或服務(wù)器能否處理數(shù)百個(gè)或數(shù)千個(gè)客戶端的同時(shí)請(qǐng)求,以及系統(tǒng)可以處理請(qǐng)求的頻率。這種類型的測(cè)試不但提供了系統(tǒng)響應(yīng)時(shí)間的度量值,而且針對(duì)服務(wù)器的回歸測(cè)試和應(yīng)用程序代碼,檢查服務(wù)器的響應(yīng)是否和預(yù)期結(jié)果相匹配,并為不同供應(yīng)商的中間件解決方案的評(píng)價(jià)和比較提供幫助。

  Apache JMeter——Apache的性能測(cè)試框架,已經(jīng)廣泛地作為Web應(yīng)用程序的性能測(cè)試工具。它可以用于在模擬重負(fù)載的條件下分析整個(gè)服務(wù)器性能。該軟件提供了FTP和HTTP請(qǐng)求功能和可擴(kuò)展自定義腳本功能。本文闡述了Jmeter可用于對(duì)Web services進(jìn)行負(fù)載測(cè)試的原因。我們特別通過在BEA WebLogic Server 9.0中配置一個(gè)簡(jiǎn)單的Web Services來進(jìn)行說明。示例測(cè)試計(jì)劃闡述了測(cè)試計(jì)劃的創(chuàng)建、線程組、循環(huán)和Web Services請(qǐng)求。我們還討論了如何測(cè)量數(shù)據(jù),并通過隨附的JMeter圖表對(duì)圖形工具中所顯示的結(jié)果進(jìn)行了說明。

JMeter

  Apache JMeter是可以對(duì)利用HTTP或FTP服務(wù)器的應(yīng)用程序進(jìn)行測(cè)試的工具。它是基于Java的,通過所提供的API它還具有高度可擴(kuò)展性。典型的JMeter測(cè)試包括創(chuàng)建循環(huán)和線程組。循環(huán)使用預(yù)設(shè)的延遲來模擬對(duì)服務(wù)器的連續(xù)請(qǐng)求。線程組是為模擬并發(fā)負(fù)載而設(shè)計(jì)的。JMeter提供了用戶界面。它還公開了API,用戶可以從Java應(yīng)用程序來運(yùn)行基于JMeter的測(cè)試。為了在JMeter中創(chuàng)建負(fù)載測(cè)試,需要構(gòu)建測(cè)試計(jì)劃。在實(shí)際操作中,Jmeter需要執(zhí)行一系列的操作。簡(jiǎn)單的測(cè)試計(jì)劃通常包括下列元件:

    *線程組——這些元件用于指定運(yùn)行的線程數(shù)和等候周期。每個(gè)線程模擬一個(gè)用戶,而等候周期用于指定創(chuàng)建全部線程的時(shí)間。例如,線程數(shù)為5,等候時(shí)間為10秒,則創(chuàng)建每個(gè)線程之間的時(shí)間間隔為2秒。循環(huán)數(shù)定義了線程的運(yùn)行時(shí)間。使用調(diào)度器,還可以設(shè)置運(yùn)行的起始時(shí)間。
    *取樣器——對(duì)于服務(wù)器HTTP、FTP或LDAP請(qǐng)求,這些元件是可配置請(qǐng)求。該教程僅側(cè)重于Web Services請(qǐng)求。
    *監(jiān)聽器——這些元件用于請(qǐng)求數(shù)據(jù)的后期處理。例如,可以將數(shù)據(jù)保存到文件或用圖表來說明結(jié)果。此時(shí)JMeter圖表并沒有提供許多配置選項(xiàng);然而它是可擴(kuò)展的,它始終可以添加額外的可視化效果或數(shù)據(jù)處理模塊。

  Apache JMeter網(wǎng)站給出了關(guān)于可用元件的詳細(xì)說明。在某些情況下,如果可用元件不適合特定的測(cè)試,開發(fā)人員可通過在安裝Jmeter的libext目錄中放置jar文件來編寫他/她自己的腳本或Java類,并將其嵌入測(cè)試計(jì)劃。

  本文中我們使用的是版本是JMeter 2.1。從 Web 站點(diǎn) 下載可執(zhí)行二進(jìn)制文件,將其解壓縮,然后應(yīng)用程序即可在Windows或Unix平臺(tái)中使用。如果是在Windows操作系統(tǒng)中工作,要轉(zhuǎn)到bin文件夾用jmeter.bat 或jmeterw.bat啟動(dòng)應(yīng)用程序。初始用戶界面如圖1所示。

  圖1:?jiǎn)?dòng)Apache JMeter

創(chuàng)建負(fù)載測(cè)試
 
  使用Jmeter的負(fù)載測(cè)試功能,可以在服務(wù)器上產(chǎn)生高負(fù)載并確定其容量和限制。注意:若要使用Web services樣本,需要有可用的mail.jar和activation.jar,它們可從Sun Microsystems中獲取(請(qǐng)參閱下面的鏈接)。由于授權(quán)限制,Apache沒有分發(fā)這些庫(kù)。下載這兩個(gè)jar文件之后,將它們放入Java classpath或安裝Jmeter的lib目錄中。

  圖2:創(chuàng)建線程組和基本W(wǎng)eb Services測(cè)試計(jì)劃

  現(xiàn)在,右鍵單擊Test Plan并添加Thread Group和Loop Controller。我們使用這兩個(gè)元件來設(shè)置模擬的并發(fā)用戶數(shù)和測(cè)試持續(xù)時(shí)間。在樹狀結(jié)構(gòu)的Loop Controller下面,添加“WebService (SOAP) Request”和Graph,如圖2所示。如果不能向測(cè)試計(jì)劃添加WebService請(qǐng)求,則可能是路徑中沒有mail.jar或activation.jar。

  鍵入線程數(shù)、等候周期和循環(huán)數(shù)。在本教程中我們分別使用5、10和100。將循環(huán)控制器計(jì)數(shù)設(shè)置為1。如果配置了Web Services的WebLogic Server仍然沒有運(yùn)行,請(qǐng)手動(dòng)啟動(dòng)它或從WebLogic Workshop中啟動(dòng)。

上一頁(yè)1234下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd