jmeter工具
jmeter是什么
Apache Jmeter 是Apache組織開發(fā)的基于java的壓力測試工具? 是一項開源工具
jmeter 可以用于服務(wù)器雌隅、網(wǎng)絡(luò)或?qū)ο竽M巨大的負載熔酷,來自不同壓力類別下測試它們的強度和分析整體性能外皇帮,jmeter能夠?qū)?yīng)用程序做功能/回歸測試匾旭,通過創(chuàng)建帶有斷言的腳本來驗證你的程序返回了你期望的結(jié)果顾彰。為了最大限度的靈活性第美,jmeter允許使用正則表達式創(chuàng)建斷言
jmeter特點
能夠?qū)ttp橙喘、ftp服務(wù)器進行壓力測試和性能測試耙替,也可以對任何數(shù)據(jù)庫進行測試(通過JDBC)
完全可移植性和100%純java
完全多線程框架允許通過多個線程并發(fā)取樣和通過單獨的線程組對不同的功能同時取樣
各種負載統(tǒng)計表和可鏈接的計時器可供選擇
數(shù)據(jù)分析和可視化插件提供了很好的可擴展性以及個性化(比loadlunner擴展性好)
具有提供動態(tài)輸入到測試的功能
jmeter下載安裝
前置條件:jdk安裝好
下載jmeter:http://jmeter.apache.org/download_jmeter.cgi
一般啟動:解壓亚侠,bin目錄下的jmeter.bat即可啟動
服務(wù)器模式啟動:jmeter-server.bat? 允許在遠程節(jié)點上以服務(wù)器模式運行,并通過jmeter gui 來控制
jmeter工作原理
通過瀏覽器錄制 俗扇,通過jmeter壓后端服務(wù)器
手寫性能測試腳本硝烂,通過多線程壓后端服務(wù)器
jmeter目錄結(jié)構(gòu)
bin目錄是可執(zhí)行文件,jmeter.bat啟動铜幽,里面可以設(shè)置jvm參數(shù)
根據(jù)經(jīng)驗滞谢,heap(堆內(nèi)存)最多設(shè)置未物理內(nèi)存得一半,默認設(shè)置未512M除抛。 如果heap超過物理內(nèi)存得一半爹凹,可能運行jmeter會慢,甚至出現(xiàn)內(nèi)存溢出镶殷。(java吃內(nèi)存比較占cpu)
jmter得log在jmeter.log中查看
jmeter.properties配置文件中有一個屬性log_level.jmeter可設(shè)置改變?nèi)罩驹敿毘潭取?默認是info? 禾酱,可改為debug
docs下是jmeter得java docs
printable_docs下的usermanual子目錄下試jmeter用戶手冊,其中component_referrnce.html最常用的核心元件幫助手冊
extras目錄下的文件提供了對ant的支持,可以利用ant來實現(xiàn)自動化颤陶,例如批量執(zhí)行腳本颗管,產(chǎn)生html報告等
運行jmeter的時候會產(chǎn)生一個jtl文件,把他放到extras目錄下滓走,運行ant - Dtest= 文件名 report就可以生成測試統(tǒng)計報表
lib目錄下的ext子目錄是jmeter的核心jar包垦江;junit子目錄是放junit腳本,用戶擴展所依賴的包直接放到lib底下即可搅方,不要放到lib/ext下
jmeter簡單比吭、輕量級;支持錄制回放姨涡;測試協(xié)議豐富衩藤,擴展性好;分布式涛漂;不支持IP欺騙赏表;支持圖形報表;支持功能測試匈仗;支持測試邏輯控制瓢剿;支持監(jiān)控服務(wù)器資源;
jmter常用功能
測試計劃:用來描述一個性能測試悠轩,所有內(nèi)容都是基于這個計劃的
線程(用戶)
一般常用線程組? 可理解成為loadrunner中虛擬用戶組
setup thread group :可用于執(zhí)行預(yù)測試操作间狂。這些線程的行為完全像一個正常的線程組元件。類似于loadrunner的init
teardown thread group:可用于執(zhí)行測試后動作(運行后的清理工作)火架。這些線程的行為完全像一個正常的線程組元件鉴象。類似于laodrunner中end
jmeter兩種錄制方式
badboy
通過代理