Jmeter壓力測(cè)試工具

概述

Apache JMeter是Apache組織開(kāi)發(fā)的基于Java的壓力測(cè)試工具账锹。用于對(duì)軟件做壓力測(cè)試萌业,它最初被設(shè)計(jì)用于Web應(yīng)用測(cè)試,但后來(lái)擴(kuò)展到其他測(cè)試領(lǐng)域奸柬。 它可以用于測(cè)試靜態(tài)和動(dòng)態(tài)資源生年,例如靜態(tài)文件、Java 小服務(wù)程序廓奕、CGI 腳本抱婉、Java 對(duì)象档叔、數(shù)據(jù)庫(kù)、FTP 服務(wù)器蒸绩, 等等衙四。JMeter 可以用于對(duì)服務(wù)器、網(wǎng)絡(luò)或?qū)ο竽M巨大的負(fù)載患亿,來(lái)自不同壓力類別下測(cè)試它們的強(qiáng)度和分析整體性能传蹈。另外,JMeter能夠?qū)?yīng)用程序做功能/回歸測(cè)試步藕,通過(guò)創(chuàng)建帶有斷言的腳本來(lái)驗(yàn)證你的程序返回了你期望的結(jié)果卡睦。為了最大限度的靈活性,JMeter允許使用正則表達(dá)式創(chuàng)建斷言漱抓。它可以用于對(duì)服務(wù)器表锻、網(wǎng)絡(luò)或?qū)ο竽M繁重的負(fù)載來(lái)測(cè)試它們的強(qiáng)度或分析不同壓力類型下的整體性能。你可以使用它做性能的圖形分析或在大并發(fā)負(fù)載測(cè)試你的服務(wù)器/腳本/對(duì)象乞娄。


下載安裝

  • 下載地址:https://jmeter.apache.org/download_jmeter.cgi
  • 系統(tǒng)要求:JMeter2.11 需要JDK1.6以上的版本支持運(yùn)行
  • 安裝方法:解壓-->安裝JDK-->配置環(huán)境變量JAVA_HOME瞬逊。
  • 啟動(dòng):進(jìn)入bin目錄運(yùn)行jmeter.bat啟動(dòng)jmeter
    注意:打開(kāi)的時(shí)候會(huì)有兩個(gè)窗口,JMeter的命令窗口和JMeter的圖形操作界面仪或,不可以關(guān)閉命令窗口确镊。
運(yùn)行JMeter.bat

打開(kāi)之后顯示的是英文,如果你想使用其他語(yǔ)言范删,比如中文蕾域,那么通過(guò)菜單選項(xiàng)->選擇語(yǔ)言->中文即可,當(dāng)然轉(zhuǎn)為英文也是同樣操作到旦。


語(yǔ)言轉(zhuǎn)換

測(cè)試組件介紹

打開(kāi)Jmeter頁(yè)面:包括測(cè)試計(jì)劃+工作臺(tái)
Test Plan (測(cè)試計(jì)劃):用來(lái)描述一個(gè)性能測(cè)試旨巷,包含與本次性能測(cè)試所有相關(guān)的功能。也就說(shuō)本的性能測(cè)試的所有內(nèi)容是于基于一個(gè)計(jì)劃的添忘。
工作臺(tái):在測(cè)試中我們可能需要暫時(shí)更改一些組件采呐,可以把一些需要更改的組件保存在工作臺(tái)中,測(cè)試完成后再恢復(fù)搁骑,但是切記:不能退出jmeter.一旦退出jmeter斧吐,工作臺(tái)中的內(nèi)容就會(huì)消失。

1 線程組(Test Group)

添加線程組

1) thread group(線程組): 這個(gè)就是我們通常添加運(yùn)行的線程仲器。通俗的講一個(gè)線程組,煤率,可以看做一個(gè)虛擬用戶組,線程組中的每個(gè)線程都可以理解為一個(gè)虛擬用戶乏冀。線程組中包含的線程數(shù)量在測(cè)試執(zhí)行過(guò)程中是不會(huì)發(fā)生改變的蝶糯。
2) setup thread group:一種特殊類型的ThreadGroup的,可用于執(zhí)行預(yù)測(cè)試操作煤辨。這些線程的行為完全像一個(gè)正常的線程組元件裳涛。不同的是木张,這些類型的線程執(zhí)行測(cè)試前進(jìn)行定期線程組的執(zhí)行。
3) teardown thread group: 一種特殊類型的ThreadGroup的端三,可用于執(zhí)行測(cè)試后動(dòng)作舷礼。這些線程的行為完全像一個(gè)正常的線程組元件。不同的是郊闯,這些類型的線程執(zhí)行測(cè)試結(jié)束后執(zhí)行定期的線程組妻献。
線程組

雖然有三個(gè)添加線程組的選項(xiàng),名字不一樣团赁, 創(chuàng)建之后育拨,其界面是完全一樣的。

名稱:TestTry欢摄,就如字面意思熬丧,起個(gè)有意義的名字就行
注釋:Just try a test
線程數(shù):這里選擇10
Ramp-Up Period:單位是秒,默認(rèn)時(shí)間是1秒怀挠。它指定了啟動(dòng)所有線程所花費(fèi)的時(shí)間析蝴,比如,當(dāng)前的設(shè)定表示“在1秒內(nèi)啟動(dòng)10個(gè)線程绿淋,每個(gè)線程的間隔時(shí)間為0.1秒”闷畸。如果你需要Jmeter立即啟動(dòng)所有線程,將此設(shè)定為0即可
循環(huán)次數(shù):表示每個(gè)線程執(zhí)行多少次請(qǐng)求吞滞。

2 配置元件(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等類型的配制無(wú)件則可以修改 Sampler的默認(rèn)數(shù)據(jù)裁赠。
例如殿漠,HTTP Cookie Manager 可以用于對(duì) HTTP Request Sampler 的 cookie 進(jìn)行管理。HTTP 請(qǐng)求默認(rèn)值不會(huì)觸發(fā)Jmeter發(fā)送http請(qǐng)求组贺,而只是定義HTTP請(qǐng)求的默認(rèn)屬性凸舵。

3 定時(shí)器(Timer)

定時(shí)器(Timer)用于操作之間設(shè)置等待時(shí)間祖娘,等待時(shí)間是性能測(cè)試中常用的控制客戶端QPS的手段失尖。類似于LoadRunner里面的“思考時(shí)間”。 JMeter 定義了Bean Shell Timer渐苏、Constant Throughput Timer掀潮、固定定時(shí)器等不同類型的Timer。

4 前置處理器(Per Processors)

前置處理器用于在實(shí)際的請(qǐng)求發(fā)出之前對(duì)即將發(fā)出的請(qǐng)求進(jìn)行特殊處理琼富。例如仪吧,HTTP URL重寫(xiě)修復(fù)符則可以實(shí)現(xiàn)URL重寫(xiě),當(dāng)RUL中有sessionID 一類的session信息時(shí)鞠眉,可以通過(guò)該處理器填充發(fā)出請(qǐng)求的實(shí)際的sessionID 薯鼠。

5 后置處理器(Post Processors)

后置處理器是用于對(duì)Sampler 發(fā)出請(qǐng)求后得到的服務(wù)器響應(yīng)進(jìn)行處理择诈。一般用來(lái)提取響應(yīng)中的特定數(shù)據(jù)(類似LoadRunner測(cè)試工具中的關(guān)聯(lián)概念)。例如出皇,XPath Extractor 則可以用于提取響應(yīng)數(shù)據(jù)中通過(guò)給定XPath 值獲得的數(shù)據(jù);正則表達(dá)式提取器羞芍,則可以提取響應(yīng)數(shù)據(jù)中通過(guò)正則表達(dá)式獲得的數(shù)據(jù)。

6 斷言(Assertions)

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

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

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

8 非測(cè)試原件

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市瞎嬉,隨后出現(xiàn)的幾起案子将鸵,更是在濱河造成了極大的恐慌,老刑警劉巖佑颇,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顶掉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡挑胸,警方通過(guò)查閱死者的電腦和手機(jī)痒筒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)茬贵,“玉大人簿透,你說(shuō)我怎么就攤上這事〗庠澹” “怎么了老充?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)螟左。 經(jīng)常有香客問(wèn)我啡浊,道長(zhǎng),這世上最難降的妖魔是什么胶背? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任巷嚣,我火速辦了婚禮,結(jié)果婚禮上钳吟,老公的妹妹穿的比我還像新娘廷粒。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布坝茎。 她就那樣靜靜地躺著涤姊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嗤放。 梳的紋絲不亂的頭發(fā)上砂轻,一...
    開(kāi)封第一講書(shū)人閱讀 49,144評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音斤吐,去河邊找鬼搔涝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛和措,可吹牛的內(nèi)容都是我干的庄呈。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼派阱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼诬留!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起贫母,我...
    開(kāi)封第一講書(shū)人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤文兑,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后腺劣,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體绿贞,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年橘原,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了籍铁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡趾断,死狀恐怖拒名,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情芋酌,我是刑警寧澤增显,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站脐帝,受9級(jí)特大地震影響同云,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜腮恩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一梢杭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧秸滴,春花似錦、人聲如沸募判。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至释液,卻和暖如春全释,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背误债。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工浸船, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寝蹈。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓李命,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親箫老。 傳聞我的和親對(duì)象是個(gè)殘疾皇子封字,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

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