一、 Apache JMeter工具
1)簡(jiǎn)介
JMeter——一個(gè)100%的純Java桌面應(yīng)用,它是 Apache組織的開放源代碼項(xiàng)目,它是功能和性能測(cè)試的工具。JMeter可以用于測(cè)試靜態(tài)或者動(dòng)態(tài)資源的性能(文件、Servlets、Perl腳本、Java對(duì)象、數(shù)據(jù)庫(kù)和查詢、ftp服務(wù)器或者其他資源)。
3)Jmeter的下載地址:http://jakarta.apache.org/jmeter/usermanual/index.html
2)Apache JMeter 的特性:
a) 能夠?qū)TTP和FTP服務(wù)器進(jìn)行壓力和性能測(cè)試, 也可以對(duì)任何數(shù)據(jù)庫(kù)進(jìn)行同樣的測(cè)試(通過JDBC)。
b) 完全的可移植性和100% 純Java。
c) 完全 Swing 和輕量組件支持(預(yù)編譯的JAR使用 javax.swing.*)包。
d) 完全多線程 框架允許通過多個(gè)線程并發(fā)取樣和 通過單獨(dú)的線程組對(duì)不同的功能同時(shí)取樣。
e) 精心的GUI設(shè)計(jì)允許快速操作和更精確的計(jì)時(shí)。
f) 緩存和離線分析/回放測(cè)試結(jié)果。
g) 高可擴(kuò)展性:
h) 可鏈接的取樣器允許無限制的測(cè)試能力。
i) 各種負(fù)載統(tǒng)計(jì)表和可鏈接的計(jì)時(shí)器可供選擇。
j) 數(shù)據(jù)分析和可視化插件提供了很好的可擴(kuò)展性以及 以及個(gè)性化。
k) 具有提供動(dòng)態(tài)輸入到測(cè)試的功能(包括Javascrīpt)。
l) 支持腳本變成的取樣器(在1.9.2及以上版本支持BeanShell)。
二、 JMeter可以做哪些方面的測(cè)試
原先Jemer是為Web/HTTP測(cè)試而設(shè)計(jì)的,但是它已經(jīng)擴(kuò)展以支持各種各樣的測(cè)試模塊。它和用于HTTP和SQL數(shù)據(jù)庫(kù)(使用JDBC)的模塊一起運(yùn)送。它可以用來測(cè)試靜止資料庫(kù)或者活動(dòng)資料庫(kù)中的服務(wù)器的運(yùn)行情況,可以用來模擬對(duì)服務(wù)器或者網(wǎng)絡(luò)系統(tǒng)加以重負(fù)荷以測(cè)試它的抵抗力,或者用來分析不同負(fù)荷類型下的所有運(yùn)行情況。它也提供了一個(gè)可替換的界面用來定制數(shù)據(jù)顯示,測(cè)試同步及測(cè)試的創(chuàng)建和執(zhí)行。
三、具體事例
1)測(cè)試環(huán)境:
硬件配置 軟件環(huán)境
測(cè)試時(shí)間 2004 年 5 月 25 日
服務(wù)器 P4 512M 內(nèi)存 Oracle 10g+Tomcat5.5
客戶端 P4 512M 內(nèi)存 Jmeter
測(cè)試內(nèi)容 khxx_xg.jsp 接受用戶參數(shù)、調(diào)用 javabean 、輸出相關(guān)信息。
2)安裝啟動(dòng)JMeter
請(qǐng)將下載的.zip文件解壓縮到C:/JMeter目錄下,F(xiàn)在,請(qǐng)使用C:/JMeter/bin下面的jmeter.bat批處理文件來啟動(dòng)JMeter的可視化界面,下面的工作都將在這個(gè)可視化界面界面上進(jìn)行操作。圖1是Jmeter的可視化界面。
以下為我的測(cè)試計(jì)劃的內(nèi)容:
1、右鍵單擊測(cè)試計(jì)劃,選擇添加-〉線程組
在線程組里設(shè)置負(fù)載信息,即線程屬性。我向測(cè)試計(jì)劃中增加相關(guān)負(fù)載設(shè)置是Jmeter需要模擬十個(gè)請(qǐng)求者,每個(gè)請(qǐng)求者在測(cè)試過程中并發(fā)請(qǐng)求,并且連續(xù)請(qǐng)求10次。
線程數(shù): 10
Ramp-up period(inseconds): 0
循環(huán)次數(shù): 10
說明:線程數(shù)代表發(fā)送請(qǐng)求的用戶數(shù)目,Ramp-up period(inseconds)代表每個(gè)請(qǐng)求發(fā)生的總時(shí)間間隔,單位是秒。假如我的請(qǐng)求數(shù)目是5,而這個(gè)參數(shù)是10,那么每個(gè)請(qǐng)求之間的間隔是10/5,也是2秒。如果設(shè)置為0代表并發(fā)請(qǐng)求。Loop Count代表請(qǐng)求發(fā)生的重復(fù)次數(shù),如果選擇后面的forever(默認(rèn)),那么 請(qǐng)求將一直繼續(xù),如果不選擇forever,而在輸入框中輸入數(shù)字,那么請(qǐng)求將重復(fù) 指定的次數(shù),如果輸入0,那么請(qǐng)求將執(zhí)行一次。
設(shè)置后界面的如圖2所示
2、添加HTTP默認(rèn)請(qǐng)求值
右鍵單擊線程組,選擇添加-〉配置元件-〉HTTP默認(rèn)請(qǐng)求值,以下是我設(shè)置的信息:
說明
名稱: HTTP 默認(rèn)請(qǐng)求值 該元素的名稱