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