性能測(cè)試-jmeter基礎(chǔ)

JMeter介紹: 一個(gè)非常優(yōu)秀的開源性能測(cè)試工具才顿。

從性能工具的原理劃分:

Jmeter工具和其他性能工具在原理上完全一致笔喉,工具包含4個(gè)部分:

(1)負(fù)載發(fā)生器:用于產(chǎn)生負(fù)載嘹狞,通常以多線程或是多進(jìn)程的方式模擬用戶行為志膀。

(2)用戶運(yùn)行器:通常是一個(gè)腳本運(yùn)行引擎慨灭,用戶運(yùn)行器附加在線程或進(jìn)程上陆馁,根據(jù)腳本要求模擬指定的用戶行為岖免。

(3)資源生成器:用于生成測(cè)試過程中服務(wù)器岳颇、負(fù)載機(jī)的資源數(shù)據(jù)。

(4)報(bào)表生成器:根據(jù)測(cè)試中霍地的數(shù)據(jù)生成報(bào)表颅湘,提供可視化的數(shù)據(jù)顯示方式话侧。

測(cè)試計(jì)劃元件

Test Plan (測(cè)試計(jì)劃):用來描述一個(gè)性能測(cè)試,包含與本次性能測(cè)試所有相關(guān)的功能闯参。也就說本的性能測(cè)試的所有內(nèi)容是于基于一個(gè)計(jì)劃的瞻鹏。

下面看一下一個(gè)計(jì)劃下面都有哪些主要的功能模塊(右鍵單擊“測(cè)試計(jì)劃”彈出菜單)。


其中鹿寨,Threads (Users)線程 用戶

雖然有三個(gè)添加線程組的選項(xiàng)新博,名字不一樣, 創(chuàng)建之后脚草,其界面是完全一樣的赫悄。之前的版本只有一個(gè)線程組的名字。現(xiàn)在多一個(gè)setUp theread Group 與terDown Thread Group

1) setup thread group

一種特殊類型的ThreadGroup的馏慨,可用于執(zhí)行預(yù)測(cè)試操作埂淮。這些線程的行為完全像一個(gè)正常的線程組元件。不同的是写隶,這些類型的線程執(zhí)行測(cè)試前進(jìn)行定期線程組的執(zhí)行倔撞。

2) teardown thread group.

一種特殊類型的ThreadGroup的,可用于執(zhí)行測(cè)試后動(dòng)作樟澜。這些線程的行為完全像一個(gè)正常的線程組元件误窖。不同的是,這些類型的線程執(zhí)行測(cè)試結(jié)束后執(zhí)行定期的線程組秩贰。

可能你還是不太理他們與普通的線程組有什么不同霹俺。 如果您用過junit,想必你不會(huì)對(duì)setup 毒费,teardown這2個(gè)字眼陌生丙唧。 即時(shí)每用過,也沒關(guān)系觅玻。 熟悉loadrunner的應(yīng)該知道想际,loadrunner的腳本除了action里是真正的腳本核心內(nèi)容培漏,還有初始化“環(huán)境”的初始化腳本和測(cè)試完畢后對(duì)應(yīng)的清除信息的腳本塊。 那么這里 setup thread group 和 teardown thread group 就是分別指這兩部分胡本。 其實(shí)從本質(zhì)上來看牌柄,他們并沒有什么不同。

3) thread group(線程組).

這個(gè)就是我們通常添加運(yùn)行的線程侧甫。通俗的講一個(gè)線程組,珊佣,可以看做一個(gè)虛擬用戶組,線程組中的每個(gè)線程都可以理解為一個(gè)虛擬用戶披粟。線程組中包含的線程數(shù)量在測(cè)試執(zhí)行過程中是不會(huì)發(fā)生改變的咒锻。

測(cè)試片段(Test Fragment)


測(cè)試片段元素是控制器上的一個(gè)種特殊的線程組,它在測(cè)試樹上與線程組處于一個(gè)層級(jí)守屉。它與線程組有所不同惑艇,因?yàn)樗槐粓?zhí)行,除非它是一個(gè)模塊控制器或者是被控制器所引用時(shí)才會(huì)被執(zhí)行拇泛。

控制器

JMeter有兩種類型的控制器:取樣器(sample)和邏輯控制器(Logic Controller)滨巴,用這些原件來驅(qū)動(dòng)處理一個(gè)測(cè)試。

取樣器(Sampler)


取樣器(Sample)是性能測(cè)試中向服務(wù)器發(fā)送請(qǐng)求碰镜,記錄響應(yīng)信息兢卵,記錄響應(yīng)時(shí)間的最小單元,JMeter 原生支持多種不同的sampler 绪颖,如 HTTP Request Sampler 秽荤、 FTP Request Sample 、TCP Request Sample 柠横、JDBC Request Sampler 等窃款,每一種不同類型的 sampler 可以根據(jù)設(shè)置的參數(shù)向服務(wù)器發(fā)出不同類型的請(qǐng)求。(在jmeter 的所有sampler 中牍氛,JavaRequest Sampler 和 Beanshell Request Sampler 是兩種特殊的可定制的 Sampler 晨继,后面會(huì)深入討論。)

邏輯控制器(Logic Controller)


邏輯控制器搬俊,包括兩類無件紊扬,一類是用于控制test plan 中 sampler 節(jié)點(diǎn)發(fā)送請(qǐng)求的邏輯順序的控制器,常用的有 如果(If)控制器 唉擂、switch Controller 餐屎、Runtime Controller、循環(huán)控制器等玩祟。另一類是用來組織可控制 sampler 來節(jié)點(diǎn)的腹缩,如 事務(wù)控制器、吞吐量控制器。

配置元件(Config Element)


配置元件(config element)用于提供對(duì)靜態(tài)數(shù)據(jù)配置的支持藏鹊。CSV Data Set config 可以將本地?cái)?shù)據(jù)文件形成數(shù)據(jù)池(Data Pool)润讥,而對(duì)應(yīng)于HTTP Request Sampler和 TCP Request Sampler等類型的配制無件則可以修改Sampler的默認(rèn)數(shù)據(jù)。(例如盘寡,HTTP Cookie Manager 可以用于對(duì) HTTP Request Sampler 的cookie 進(jìn)行管理)

定時(shí)器(Timer)


定時(shí)器(Timer)用于操作之間設(shè)置等待時(shí)間楚殿,等待時(shí)間是性能測(cè)試中常用的控制客戶端QPS的手端。類似于LoadRunner里面的“思考時(shí)間”宴抚。JMeter 定義了Bean Shell Timer勒魔、Constant Throughput Timer甫煞、固定定時(shí)器等不同類型的Timer菇曲。

前置處理器(Per Processors)


用于在實(shí)際的請(qǐng)求發(fā)出之前對(duì)即將發(fā)出的請(qǐng)求進(jìn)行特殊處理。例如抚吠,HTTP URL重寫修復(fù)符則可以實(shí)現(xiàn)URL重寫常潮,當(dāng)RUL中有sessionID 一類的session信息時(shí),可以通過該處理器填充發(fā)出請(qǐng)求的實(shí)際的sessionID 楷力。

后置處理器(Post Processors)


用于對(duì)Sampler 發(fā)出請(qǐng)求后得到的服務(wù)器響應(yīng)進(jìn)行處理喊式。一般用來提取響應(yīng)中的特定數(shù)據(jù)(類似LoadRunner測(cè)試工具中的關(guān)聯(lián)概念)。例如萧朝,XPath Extractor 則可以用于提取響應(yīng)數(shù)據(jù)中通過給定XPath 值獲得的數(shù)據(jù)岔留。

斷言(Assertions)


斷言用于檢查測(cè)試中得到的相應(yīng)數(shù)據(jù)等是否符合預(yù)期,斷言一般用來設(shè)置檢查點(diǎn)检柬,用以保證性能測(cè)試過程中的數(shù)據(jù)交互是否與預(yù)期一致献联。

監(jiān)聽器(Listener)


這個(gè)監(jiān)聽器可不是用來監(jiān)聽系統(tǒng)資源的元件。它是用來對(duì)測(cè)試結(jié)果數(shù)據(jù)進(jìn)行處理和可視化展示的一系列元件何址。 圖行結(jié)果里逆、查看結(jié)果樹、聚合報(bào)告用爪。都是我們經(jīng)常用到的元件原押。

到此,我們已經(jīng)簡(jiǎn)單了解了jmeter的基本組成原件偎血,我們后序的性能測(cè)試工作也就是使用這些元件來完成測(cè)試任務(wù)诸衔。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市颇玷,隨后出現(xiàn)的幾起案子笨农,更是在濱河造成了極大的恐慌,老刑警劉巖亚隙,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件磁餐,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)诊霹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門羞延,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人脾还,你說我怎么就攤上這事伴箩。” “怎么了鄙漏?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵嗤谚,是天一觀的道長。 經(jīng)常有香客問我怔蚌,道長巩步,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任桦踊,我火速辦了婚禮椅野,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘籍胯。我一直安慰自己竟闪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布杖狼。 她就那樣靜靜地躺著炼蛤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蝶涩。 梳的紋絲不亂的頭發(fā)上理朋,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音子寓,去河邊找鬼暗挑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛斜友,可吹牛的內(nèi)容都是我干的炸裆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼鲜屏,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼烹看!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起洛史,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤惯殊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后也殖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體土思,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡务热,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了己儒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崎岂。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖闪湾,靈堂內(nèi)的尸體忽然破棺而出冲甘,到底是詐尸還是另有隱情,我是刑警寧澤途样,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布江醇,位于F島的核電站,受9級(jí)特大地震影響何暇,放射性物質(zhì)發(fā)生泄漏陶夜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一赖晶、第九天 我趴在偏房一處隱蔽的房頂上張望律适。 院中可真熱鬧,春花似錦遏插、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至扣草,卻和暖如春了牛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背辰妙。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工鹰祸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人密浑。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓蛙婴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尔破。 傳聞我的和親對(duì)象是個(gè)殘疾皇子街图,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一、JMeter介紹 Apache JMeter是100%純JAVA桌面應(yīng)用程序懒构,被設(shè)計(jì)為用于測(cè)試客戶端/服務(wù)端結(jié)...
    宇文臭臭閱讀 8,453評(píng)論 0 17
  • 上一節(jié)中餐济,我們了解了jmeter的一此主要元件,那么這些元件如何使用到性能測(cè)試中呢胆剧。這一節(jié)創(chuàng)建一個(gè)簡(jiǎn)單的測(cè)試計(jì)劃來...
    邵瓊閱讀 806評(píng)論 0 0
  • 裝好Jmeter以后絮姆,打開Jmeter頁面:包括測(cè)試計(jì)劃+工作臺(tái)。1、Test Plan (測(cè)試計(jì)劃):用來描述一...
    CC先生之簡(jiǎn)書閱讀 1,023評(píng)論 0 2
  • 1 Jmeter安裝配置 使用Jmeter前首先要安裝JDK篙悯,配置JDK環(huán)境變量冤灾。Jmeter不需要安裝,下載后...
    茶小汐閱讀 2,929評(píng)論 0 8
  • 晚餐時(shí)想起一家面館辕近,大約三十分鐘腳程韵吨,也無同伴,世上果然沒有只賺不賠的買賣移宅。 獨(dú)去又何妨归粉? 一開始走得很急,腳跟腳...
    觀察員yog閱讀 317評(píng)論 0 0