版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JMeter開(kāi)源壓力測(cè)試平臺(tái)介紹技術(shù)創(chuàng)新,變革未來(lái)JMeter1、JMeter 介紹2、JMeter原理劃分3、JMeter的核心概念4、JMeter測(cè)試計(jì)劃元件介紹5、演示6、Q&AJMeter 介紹Apache JMeter是基于Java開(kāi)發(fā)的壓力測(cè)試工具。1. 能夠?qū)Χ喾N協(xié)議進(jìn)行壓力和性能測(cè)試,主要包括: Web - HTTP, HTTPS SOAP / REST,F(xiàn)TP Database via JDBC,LDAP Message-oriented middleware (MOM) via JMS Mail - SMTP(S), POP3(S) and IMAP(S) Native c
2、ommands or shell scripts TCPJMeter介紹2. Java編寫(xiě),平臺(tái)兼容3. 多線程框架,支持并發(fā)采樣4. 圖形化界面5. 支持緩存測(cè)試結(jié)果,可以做線下分析和重現(xiàn)6. 高擴(kuò)展的核心框架,可以通過(guò)插件擴(kuò)展7. 支持分布式測(cè)試 JMeter原理劃分Jmeter工具和其他性能工具在原理上完全一致,工具包含4個(gè)部分:(1)負(fù)載發(fā)生器:用于產(chǎn)生負(fù)載,通常以多線程或是多進(jìn)程的方式模擬用戶行為。(2)用戶運(yùn)行器:通常是一個(gè)腳本運(yùn)行引擎,用戶運(yùn)行器附加在線程或進(jìn)程上,根據(jù)腳本要求模擬指定的用戶行為。(3)資源生成器:用于生成測(cè)試過(guò)程中服務(wù)器、負(fù)載機(jī)的資源數(shù)據(jù)。(4)報(bào)表生成器:根據(jù)
3、測(cè)試中霍地的數(shù)據(jù)生成報(bào)表,提供可視化的數(shù)據(jù)顯示方式。JMeter核心介紹測(cè)試計(jì)劃:針對(duì)一個(gè)場(chǎng)景配置具體測(cè)試的集合 ThreadGroup:線程組,設(shè)置jmeter執(zhí)行測(cè)試計(jì)劃的線程數(shù)量 Controller:控制器,兩種控制器,采樣器和邏輯控制器 Sample:采樣器,真正的測(cè)試請(qǐng)求發(fā)送者,采樣收到的響應(yīng) Listeners:監(jiān)聽(tīng)器,提供了訪問(wèn)Jmeter測(cè)試收集到的響應(yīng)信息的功能 Test Fragments:測(cè)試段,本身不執(zhí)行,除非被Module Controller或者include Controller引用 Timer:時(shí)間片,一個(gè)時(shí)間延遲,會(huì)在所有的Sample請(qǐng)求中間加上延遲 As
4、sertions:斷言,用于測(cè)定相應(yīng),可以為每個(gè)Sample添加 Configuration elements:配置元件,會(huì)修改或影響請(qǐng)求 Pre-processor:前置處理器 Post-processor:后置處理器 Execution order:執(zhí)行順序JMeter測(cè)試計(jì)劃元件介紹TestPlan(測(cè)試計(jì)劃):用來(lái)描述一個(gè)性能測(cè)試,包含與本次性能測(cè)試所有相關(guān)的功能。也就說(shuō)本的性能測(cè)試的所有內(nèi)容是于基于一個(gè)計(jì)劃的。下面看一下一個(gè)計(jì)劃下面都有哪些主要的功能模塊(右鍵單擊“測(cè)試計(jì)劃”彈出菜單)。JMeter測(cè)試計(jì)劃元件介紹JMeter測(cè)試計(jì)劃元件介紹Threads(Users)線程用戶雖然有
5、三個(gè)添加線程組的選項(xiàng),名字不一樣,創(chuàng)建之后,其界面是完全一樣的。之前的版本只有一個(gè)線程組的名字?,F(xiàn)在多一個(gè)setUpThreadGroup與tearDownThreadGroupJMeter測(cè)試計(jì)劃元件介紹1)setupthreadgroup一種特殊類型的ThreadGroup的,可用于執(zhí)行預(yù)測(cè)試操作。這些線程的行為完全像一個(gè)正常的線程組元件。不同的是,這些類型的線程執(zhí)行測(cè)試前進(jìn)行定期線程組的執(zhí)行。Threads(Users)線程用戶JMeter測(cè)試計(jì)劃元件介紹2)teardownthreadgroup.一種特殊類型的ThreadGroup的,可用于執(zhí)行測(cè)試后動(dòng)作。這些線程的行為完全像一個(gè)正常
6、的線程組元件。不同的是,這些類型的線程執(zhí)行測(cè)試結(jié)束后執(zhí)行定期的線程組??赡苣氵€是不太理他們與普通的線程組有什么不同。如果您用過(guò)junit,想必你不會(huì)對(duì)setup,teardown這2個(gè)字眼陌生。即時(shí)沒(méi)用過(guò),也沒(méi)關(guān)系。熟悉loadrunner的應(yīng)該知道,loadrunner的腳本除了action里是真正的腳本核心內(nèi)容,還有初始化“環(huán)境”的初始化腳本和測(cè)試完畢后對(duì)應(yīng)的清除信息的腳本塊。那么這里setupthreadgroup和teardownthreadgroup就是分別指這兩部分。其實(shí)從本質(zhì)上來(lái)看,他們并沒(méi)有什么不同。Threads(Users)線程用戶JMeter測(cè)試計(jì)劃元件介紹3)threa
7、dgroup(線程組)這個(gè)就是我們通常添加運(yùn)行的線程。通俗的講一個(gè)線程組,,可以看做一個(gè)虛擬用戶組,線程組中的每個(gè)線程都可以理解為一個(gè)虛擬用戶。線程組中包含的線程數(shù)量在測(cè)試執(zhí)行過(guò)程中是不會(huì)發(fā)生改變的。Threads(Users)線程用戶JMeter測(cè)試計(jì)劃元件介紹測(cè)試片段(TestFragment)測(cè)試片段是在2.5版本之后新加的一個(gè)選項(xiàng)。測(cè)試片段元素是控制器上的一個(gè)種特殊的線程組,它在測(cè)試樹(shù)上與線程組處于一個(gè)層級(jí)。它與線程組有所不同,因?yàn)樗槐粓?zhí)行,除非它是一個(gè)模塊控制器或者是被控制器所引用時(shí)才會(huì)被執(zhí)行。JMeter測(cè)試計(jì)劃元件介紹JMeter有兩種類型的控制器:1、取樣器(sample)2
8、、邏輯控制器(LogicController)用這些原件來(lái)驅(qū)動(dòng)處理一個(gè)測(cè)試??刂破鱆Meter測(cè)試計(jì)劃元件介紹取樣器(Sampler)JMeter測(cè)試計(jì)劃元件介紹 取樣器(Sample)是性能測(cè)試中向服務(wù)器發(fā)送請(qǐng)求,記錄響應(yīng)信息,記錄響應(yīng)時(shí)間的最小單元,JMeter原生支持多種不同的sampler,如HTTPRequestSampler、FTPRequestSample、TCPRequestSample、JDBCRequestSampler等,每一種不同類型的sampler可以根據(jù)設(shè)置的參數(shù)向服務(wù)器發(fā)出不同類型的請(qǐng)求。(在jmeter的所有sampler中,JavaRequestSampler
9、和BeanshellRequestSampler是兩種特殊的可定制的Sampler)取樣器(Sampler)JMeter測(cè)試計(jì)劃元件介紹邏輯控制器(LogicController)JMeter測(cè)試計(jì)劃元件介紹邏輯控制器(LogicController)邏輯控制器,包括兩類元件 一類是用于控制testplan中sampler節(jié)點(diǎn)發(fā)送請(qǐng)求的邏輯順序的控制器,常用的有如果(If)控制器、switchController、RuntimeController、循環(huán)控制器等。 另一類是用來(lái)組織可控制sampler來(lái)節(jié)點(diǎn)的,如事務(wù)控制器、吞吐量控制器。JMeter測(cè)試計(jì)劃元件介紹配置元件(ConfigEle
10、ment)JMeter測(cè)試計(jì)劃元件介紹 配置元件(configelement)用于提供對(duì)靜態(tài)數(shù)據(jù)配置的支持。CSVDataSetconfig可以將本地?cái)?shù)據(jù)文件形成數(shù)據(jù)池(DataPool),而對(duì)應(yīng)于HTTPRequestSampler和TCPRequestSampler等類型的配制元件則可以修改Sampler的默認(rèn)數(shù)據(jù)。(例如,HTTPCookieManager可以用于對(duì)HTTPRequestSampler的cookie進(jìn)行管理)配置元件(ConfigElement)JMeter測(cè)試計(jì)劃元件介紹定時(shí)器(Timer)JMeter測(cè)試計(jì)劃元件介紹 定時(shí)器(Timer)用于操作之間設(shè)置等待時(shí)間,等待
11、時(shí)間是性能測(cè)試中常用的控制客戶端QPS的手端。類似于LoadRunner里面的“思考時(shí)間”。JMeter定義了BeanShellTimer、ConstantThroughputTimer、固定定時(shí)器等不同類型的Timer。定時(shí)器(Timer)JMeter測(cè)試計(jì)劃元件介紹前置處理器(PerProcessors)JMeter測(cè)試計(jì)劃元件介紹 用于在實(shí)際的請(qǐng)求發(fā)出之前對(duì)即將發(fā)出的請(qǐng)求進(jìn)行特殊處理。例如,HTTPURL重寫(xiě)修復(fù)符則可以實(shí)現(xiàn)URL重寫(xiě),當(dāng)RUL中有sessionID一類的session信息時(shí),可以通過(guò)該處理器填充發(fā)出請(qǐng)求的實(shí)際的sessionID。前置處理器(PerProcessors)
12、JMeter測(cè)試計(jì)劃元件介紹后置處理器(PostProcessors)JMeter測(cè)試計(jì)劃元件介紹 用于對(duì)Sampler發(fā)出請(qǐng)求后得到的服務(wù)器響應(yīng)進(jìn)行處理。一般用來(lái)提取響應(yīng)中的特定數(shù)據(jù)(類似LoadRunner測(cè)試工具中的關(guān)聯(lián)概念)。例如,XPathExtractor則可以用于提取響應(yīng)數(shù)據(jù)中通過(guò)給定XPath值獲得的數(shù)據(jù)。后置處理器(PostProcessors)JMeter測(cè)試計(jì)劃元件介紹斷言(Assertions) 斷言用于檢查測(cè)試中得到的相應(yīng)數(shù)據(jù)等是否符合預(yù)期,斷言一般用來(lái)設(shè)置檢查點(diǎn),用以保證性能測(cè)試過(guò)程中的數(shù)據(jù)交互是否與預(yù)期一致。JMeter測(cè)試計(jì)劃元件介紹監(jiān)聽(tīng)器(Listener)
13、這個(gè)監(jiān)聽(tīng)器可不是用來(lái)監(jiān)聽(tīng)系統(tǒng)資源的元件。它是用來(lái)對(duì)測(cè)試結(jié)果數(shù)據(jù)進(jìn)行處理和可視化展示的一系列元件。圖行結(jié)果、查看結(jié)果樹(shù)、聚合報(bào)告。都是我們經(jīng)常用到的元件。演示演示演示演示Label:每個(gè)JMeter的 element(例如 HTTP Request)都有一個(gè) Name 屬性,這里顯示的就是 Name 屬性的值#Samples:表示你這次測(cè)試中一共發(fā)出了多少個(gè)請(qǐng)求,如果模擬10個(gè)用戶,每個(gè)用戶迭代10次,那么這里顯示100Average:平均響應(yīng)時(shí)間默認(rèn)情況下是單個(gè) Request 的平均響應(yīng)時(shí)間,當(dāng)使用了 Transaction Controller 時(shí),也可以以Transaction:為單位顯示平均響應(yīng)時(shí)間Median:中位數(shù),也就是 50 用戶的響應(yīng)時(shí)間Aggregate Report 解析(聚和報(bào)告)演示90% Line:90 用戶的響應(yīng)時(shí)間Min:最小響應(yīng)時(shí)間Max:最大響應(yīng)時(shí)間Error%:本次測(cè)試中出現(xiàn)錯(cuò)誤的請(qǐng)求的數(shù)量/請(qǐng)求的總數(shù)Throughput:吞吐量默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù)(Request per Second),當(dāng)使用了 Transaction Controller 時(shí),也可以表示類似 LoadRunner 的 Transaction per Second 數(shù)KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量,相當(dāng)于LoadRunner中的Thr
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 音標(biāo)教學(xué)拼讀課程設(shè)計(jì)
- 2025年中國(guó)校驗(yàn)信號(hào)發(fā)生器行業(yè)市場(chǎng)發(fā)展監(jiān)測(cè)及投資潛力預(yù)測(cè)報(bào)告
- 2025年貼木皮膠行業(yè)深度研究分析報(bào)告
- 道路課程設(shè)計(jì)做
- 2024年小語(yǔ)種培訓(xùn)市場(chǎng)運(yùn)行態(tài)勢(shì)及行業(yè)發(fā)展前景預(yù)測(cè)報(bào)告
- 2025年中國(guó)測(cè)徑儀行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)與投資戰(zhàn)略咨詢報(bào)告
- 評(píng)論類新聞制作課程設(shè)計(jì)
- 2025年度演藝人員安全培訓(xùn)及事故處理合同
- 二零二五年度抹灰施工安全培訓(xùn)課程開(kāi)發(fā)與推廣合同4篇
- 2025年度電子勞動(dòng)合同定制服務(wù)合同
- 諒解書(shū)(標(biāo)準(zhǔn)樣本)
- 2022年浙江省事業(yè)編制招聘考試《計(jì)算機(jī)專業(yè)基礎(chǔ)知識(shí)》真題試卷【1000題】
- 認(rèn)養(yǎng)一頭牛IPO上市招股書(shū)
- GB/T 3767-2016聲學(xué)聲壓法測(cè)定噪聲源聲功率級(jí)和聲能量級(jí)反射面上方近似自由場(chǎng)的工程法
- GB/T 23574-2009金屬切削機(jī)床油霧濃度的測(cè)量方法
- 西班牙語(yǔ)構(gòu)詞.前后綴
- 動(dòng)物生理學(xué)-全套課件(上)
- 河北省衡水市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- DB32-T 2665-2014機(jī)動(dòng)車維修費(fèi)用結(jié)算規(guī)范-(高清現(xiàn)行)
- 智能消防設(shè)備公司市場(chǎng)營(yíng)銷方案
- 最新6000畝海帶筏式養(yǎng)殖投資建設(shè)項(xiàng)目可行性研究報(bào)告
評(píng)論
0/150
提交評(píng)論