JMETER介紹

一影锈、基本概念

1.測(cè)試計(jì)劃是使用 JMeter 進(jìn)行測(cè)試的起點(diǎn)计福,它是其它 JMeter 測(cè)試元件的容器娃磺。

2.線程組:代表一定數(shù)量的并發(fā)用戶薄湿,它可以用來(lái)模擬并發(fā)用戶發(fā)送請(qǐng)求。實(shí)際的請(qǐng)求內(nèi)容在Sampler中定義豌鸡,它被線程組包含嘿般。可以在“測(cè)試計(jì) 劃->添加->線程組”來(lái)建立它涯冠,然后在線程組面板里有幾個(gè)輸入欄:線程數(shù)炉奴、Ramp-Up Period(in seconds)、循環(huán)次數(shù)蛇更,其中Ramp-Up Period(in seconds)表示在這時(shí)間內(nèi)創(chuàng)建完所有的線程瞻赶。如有8個(gè)線程,Ramp-Up = 200秒派任,那么線程的啟動(dòng)時(shí)間間隔為200/8=25秒砸逊,這樣的好處是:一開(kāi)始不會(huì)對(duì)服務(wù)器有太大的負(fù)載。線程組是為模擬并發(fā)負(fù)載而設(shè)計(jì)掌逛。

3师逸、取樣器(Sampler):模擬各種請(qǐng)求。所有實(shí)際的測(cè)試任務(wù)都由取樣器承擔(dān)豆混,存在很多種請(qǐng)求篓像。如:HTTP 、ftp請(qǐng)求等等皿伺。

4员辩、監(jiān)聽(tīng)器:負(fù)責(zé)收集測(cè)試結(jié)果,同時(shí)也被告知了結(jié)果顯示的方式鸵鸥。功能是對(duì)取樣器的請(qǐng)求結(jié)果顯示奠滑、統(tǒng)計(jì)一些數(shù)據(jù)(吞吐量、KB/S……)等妒穴。

6宋税、斷言:用于來(lái)判斷請(qǐng)求響應(yīng)的結(jié)果是否如用戶所期望,是否正確宰翅。它可以用來(lái)隔離問(wèn)題域弃甥,即在確保功能正確的前提下執(zhí)行壓力測(cè)試。這個(gè)限制對(duì)于有效的測(cè)試是非常有用的汁讼。

7淆攻、定時(shí)器:負(fù)責(zé)定義請(qǐng)求(線程)之間的延遲間隔阔墩,模擬對(duì)服務(wù)器的連續(xù)請(qǐng)求。

5瓶珊、邏輯控制器:允許自定義JMeter發(fā)送請(qǐng)求的行為邏輯啸箫,它與Sampler結(jié)合使用可以模擬復(fù)雜的請(qǐng)求序列。

8. 配置元件維護(hù)Sampler需要的配置信息伞芹,并根據(jù)實(shí)際的需要會(huì)修改請(qǐng)求的內(nèi)容忘苛。

9. 前置處理器和后置處理器負(fù)責(zé)在生成請(qǐng)求之前和之后完成工作。前置處理器常常用來(lái)修改請(qǐng)求的設(shè)置唱较,后置處理器則常常用來(lái)處理響應(yīng)的數(shù)據(jù)扎唾。

二、Jmeter報(bào)告 (轉(zhuǎn)載)

http://www.cnblogs.com/jackei/archive/2006/11/13/558720.html

1南缓、Aggregate Report 解析

Aggregate Report 是 JMeter 常用的一個(gè) Listener胸遇,中文被翻譯為“聚合報(bào)告”。今天再次有同行問(wèn)到這個(gè)報(bào)告中的各項(xiàng)數(shù)據(jù)表示什么意思汉形,順便在這里公布一下纸镊,以備大家查閱。

如果大家都是做Web應(yīng)用的性能測(cè)試概疆,例如只有一個(gè)登錄的請(qǐng)求逗威,那么在Aggregate Report中,會(huì)顯示一行數(shù)據(jù)岔冀,共有10個(gè)字段凯旭,含義分別如下。

Label:每個(gè) JMeter 的 element(例如 HTTP Request)都有一個(gè) Name 屬性使套,這里顯示的就是 Name 屬性的值

#Samples:表示你這次測(cè)試中一共發(fā)出了多少個(gè)請(qǐng)求尽纽,如果模擬10個(gè)用戶,每個(gè)用戶迭代10次童漩,那么這里顯示100

Average:平均響應(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í)間

90% Line:90% 用戶的響應(yīng)時(shí)間

Note:關(guān)于 50% 和 90% 并發(fā)用戶數(shù)的含義,請(qǐng)參考下文

http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html

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中的Throughput/Sec

基本知識(shí):

1呐萌、吞吐量:是指在沒(méi)有幀丟失的情況下馁痴,設(shè)備能夠接受的最大速率。

2肺孤、存儲(chǔ)的最小單位是字節(jié)Byte罗晕,對(duì)于存儲(chǔ)單位济欢,有以下幾個(gè)單位,GB小渊、MB和KB法褥,那么這三者之間的換算關(guān)系是:1GB=1024MB,1MB=1024KB酬屉,1KB=1024Bytes半等。

Bit :“位”,稱為bit呐萨,也就是比特杀饵,有的時(shí)候也稱為位。一個(gè)字節(jié)為8位二進(jìn)制表示谬擦。

Byte:“字節(jié)”切距,一個(gè)字節(jié)就是8比特。

3怯屉、Mbps (million bits per second 兆位/秒) 代表每秒傳輸1蔚舀,000,000比特锨络。該縮寫用來(lái)描述數(shù)據(jù)傳輸速度赌躺。例如:4Mbps=每秒鐘傳輸4M比特。

數(shù)據(jù)傳輸速率的單位羡儿,字母b(bit)是比特和字母 B (Byte)是字節(jié)礼患。

4、吞吐量與帶寬的區(qū)分:吞吐量和帶寬是很容易搞混的一個(gè)詞掠归,兩者的單位都是Mbps.先讓我們來(lái)看兩者對(duì)應(yīng)的英語(yǔ)缅叠,吞吐 量:throughput ; 帶寬: Max net bitrate 。當(dāng)我們討論通信鏈路的帶寬時(shí)虏冻,一般是指鏈路上每秒所能傳送的比特?cái)?shù)肤粱。我們可以說(shuō)以太網(wǎng)的帶寬是10Mbps。但是厨相,我們需要區(qū)分鏈路上的可用帶寬(帶 寬)與實(shí)際鏈路中每秒所能傳送的比特?cái)?shù)(吞吐量)领曼。我們傾向于用“吞吐量”一次來(lái)表示一個(gè)系統(tǒng)的測(cè)試性能。這樣蛮穿,因?yàn)閷?shí)現(xiàn)受各種低效率因素的影響庶骄,所以由 一段帶寬為10Mbps的鏈路連接的一對(duì)節(jié)點(diǎn)可能只達(dá)到2Mbps的吞吐量。這樣就意味著践磅,一個(gè)主機(jī)上的應(yīng)用能夠以2Mbps的速度向另外的一個(gè)主機(jī)發(fā)送 數(shù)據(jù)单刁。

5、方差和標(biāo)準(zhǔn)差都是用來(lái)描述一組數(shù)據(jù)的波動(dòng)性的(集中還是分散)府适,標(biāo)準(zhǔn)差的平方就是方差羔飞。方差越大肺樟,數(shù)據(jù)的波動(dòng)越大。

三.利用BadBoy生成測(cè)試計(jì)劃(測(cè)試腳本)

badBoy可以非常容易的生成web的測(cè)試腳本褥傍。類似與LoadRunner的使用儡嘶,輸入站點(diǎn)的URL,點(diǎn)擊Record開(kāi)始錄制恍风。File –> Export to Jmeter 蹦狂,導(dǎo)出為Jmeter認(rèn)識(shí)的測(cè)試腳本。

四.一個(gè)簡(jiǎn)單的測(cè)試示例思路(目前自己思路朋贬,不斷改進(jìn))

a. 需要的“測(cè)試腳本”凯楔,對(duì)應(yīng)web的應(yīng)用使用badboy生成測(cè)試腳本。直接導(dǎo)入Jmeter锦募,進(jìn)行配置摆屯。

b.如圖

TestPlan :是整個(gè)Jmeter測(cè)試執(zhí)行的容器。

ThreadGroup :模擬請(qǐng)求糠亩,定義線程數(shù)虐骑、Ramp-Up Period、循環(huán)次數(shù)赎线。

Step1 :循環(huán)控制器 廷没,控制Sample的執(zhí)行次數(shù)。

Sample取樣器 :決定進(jìn)行那種類型的測(cè)試垂寥,如http颠黎、ftp等。

監(jiān)聽(tīng)器 :圖形結(jié)果滞项、聚合報(bào)告狭归。

定時(shí)器 :Random類型,定義線程請(qǐng)求的延遲文判。

c.聚合報(bào)告的解釋

Label :各個(gè)模擬測(cè)試的名稱

#Samples :各個(gè)測(cè)試的樣本總數(shù)

Average :每個(gè)請(qǐng)求的平均響應(yīng)時(shí)間

Median :中值过椎,即50%請(qǐng)求的平均響應(yīng)時(shí)間

90%Line :90%請(qǐng)求的響應(yīng)時(shí)間

Min :最小響應(yīng)時(shí)間 ,Max :最大的響應(yīng)時(shí)間

Error% :錯(cuò)誤響應(yīng)的概率戏仓。即無(wú)法響應(yīng)的概率潭流。

ThroughPut :吞吐量 -- 默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù)(Request per Second)。

KB/Sec :每秒從服務(wù)器端接收到的數(shù)據(jù)量柜去。

五.Jmeter常見(jiàn)問(wèn)題 (轉(zhuǎn)載) http://www.51testing.com/?uid-128005-action-viewspace-itemid-84094

說(shuō)明:這些問(wèn)答是從網(wǎng)上轉(zhuǎn)載的,自己修改了其中的一些內(nèi)容拆宛,如果大家興趣嗓奢,可以將大家在使用Jmeter的時(shí)候碰到的問(wèn)題寫下來(lái),我們一起補(bǔ)充到這個(gè)問(wèn)答里面浑厚,共同努力完善jmeter的資料股耽。

1.JMeter的工作原理是什么根盒?

向服務(wù)器提交請(qǐng)求;從服務(wù)器取回請(qǐng)求返回的結(jié)果物蝙。

2.JMeter的作用炎滞?

JMeter可以用于測(cè)試靜態(tài)或者動(dòng)態(tài)資源的性能(文件、Servlets诬乞、Perl腳本册赛、java對(duì)象、數(shù)據(jù)庫(kù)和查詢震嫉、ftp服務(wù)器或者其他的資源)森瘪。 JMeter用于模擬在服務(wù)器、網(wǎng)絡(luò)或者其他對(duì)象上附加高負(fù)載以測(cè)試他們提供服務(wù)的受壓能力票堵,或者分析他們提供的服務(wù)在不同負(fù)載條件下的總性能情況扼睬。你可 以用JMeter提供的圖形化界面分析性能指標(biāo)或者在高負(fù)載情況下測(cè)試服務(wù)器/腳本/對(duì)象的行為。

3.怎樣能看到j(luò)meter提供的腳本范例悴势?

在\JMeter\jakarta-jmeter-2.0.3\xdocs\demos目錄下窗宇。

4.怎樣設(shè)置并發(fā)用戶數(shù)?

選中可視化界面中左邊樹(shù)的Test Plan節(jié)點(diǎn)特纤,單擊右鍵军俊,選擇Add-> Thread Group,其中Number of Threads參數(shù)用來(lái)設(shè)置發(fā)送請(qǐng)求的用戶數(shù)目。

5.JMeter的運(yùn)行指示叫潦?

Jmeter在運(yùn)行時(shí)蝇完,右上角有個(gè)單選框大小的小框框,運(yùn)行是該框框?yàn)榫G色矗蕊,運(yùn)行完畢后短蜕,該框框?yàn)榘咨?/p>

6.User Parameters的作用是什么?

提高腳本可用性

7.在result里會(huì)出現(xiàn)彩色字體的http response code傻咖,說(shuō)明什么呢朋魔?

Http response code是http返回值,彩色字體較引人注目卿操,可以使用戶迅速關(guān)注警检。象綠色的302就說(shuō)明在這一步驟中,返回值取自本機(jī)的catch害淤,而不是server扇雕。

8.怎樣計(jì)算Ramp-up period時(shí)間?

Ramp-up period是指每個(gè)請(qǐng)求發(fā)生的總時(shí)間間隔窥摄,單位是秒镶奉。如果Number of Threads設(shè)置為5,而Ramp-up period是10,那么每個(gè)請(qǐng)求之間的間隔就是10/5哨苛,也就是2秒鸽凶。Ramp-up period設(shè)置為0,就是同時(shí)并發(fā)請(qǐng)求建峭。

9.Get和Post的區(qū)別玻侥?

他們是http協(xié)議的2種不同實(shí)現(xiàn)方式。Get是指server從Request URL取得所需參數(shù)亿蒸。從result中的request中可以看到凑兰,get可以看到參數(shù),但是post是主動(dòng)向server發(fā)送參數(shù)祝懂,所以一般看不到這些參數(shù)的票摇。

10. 哪些原因可能導(dǎo)致error的產(chǎn)生?

a.Http錯(cuò)誤砚蓬,包括不響應(yīng)矢门,結(jié)果找不到,數(shù)據(jù)錯(cuò)誤等等灰蛙;

b.JMeter本身原因產(chǎn)生的錯(cuò)誤祟剔。

11. 為什么Aggregate Report結(jié)果中的Total值不是真正的總和?

JMeter給結(jié)果中total的定義是并不完全指總和摩梧,為了方便使用物延,它的值表現(xiàn)了所在列的代表值,比如min值仅父,它的total就是所在列的最小值叛薯。下圖就是total在各列所表示的意思。

12.JMeter的Thread Number是提供多個(gè)不同用戶并發(fā)的功能么笙纤?

不是耗溜,Thread Number僅僅是指并發(fā)數(shù),如果需要實(shí)現(xiàn)多個(gè)不同用戶并發(fā)省容,我們應(yīng)該采用其它方法抖拴,比如通過(guò)在jmeter外建立csv文件的方法來(lái)實(shí)現(xiàn)。

13. 同時(shí)并發(fā)請(qǐng)求時(shí)腥椒,若需要模擬不同的用戶同時(shí)向不同的server并發(fā)請(qǐng)求阿宅,怎樣實(shí)現(xiàn)呢?

方法很靈活笼蛛,我們可以將不同的server在thread里面預(yù)先寫好洒放。或者預(yù)先將固定的變量值寫入csv文件滨砍,這樣還可以方便修改拉馋。然后將文件添加到User Parameters榨为。

14.User Parameter中的DUMMY是什么意思?

當(dāng)其具體內(nèi)容是${__CSVRead(${__property(user.dir)}${FILENAME},next())}時(shí)用來(lái)模擬讀文件的下一行煌茴。

15.當(dāng)測(cè)試對(duì)象在多server間跳轉(zhuǎn)時(shí),應(yīng)該怎樣處理日川?

程序運(yùn)行時(shí)蔓腐,有些http和隱函數(shù)會(huì)攜帶另外的server IP,我們可以從他們的返回值中獲取。

16.為何測(cè)試對(duì)象是http和https混雜出現(xiàn)龄句?

Https是加密協(xié)議回论,為了安全,一般不推薦使用http分歇,但是有些地方傀蓉,使用https過(guò)于復(fù)雜或者較難實(shí)現(xiàn),會(huì)采用http協(xié)議职抡。

17.Http和https的默認(rèn)端口是什么葬燎?

Apache server (Http)的默認(rèn)端口是80;

SSL (Https)的默認(rèn)端口是443缚甩。

18.為何在run時(shí)谱净,有些頁(yè)面失敗,但是最后不影響結(jié)果擅威?

原因較多壕探,值得提及的一種是因?yàn)橹髁黜?yè)面與它不存在依賴關(guān)系,所以即使這樣的頁(yè)面出錯(cuò)郊丛,也不會(huì)影響運(yùn)行得到正常結(jié)果李请,但是這樣會(huì)影響到測(cè)試的結(jié)果以及分析結(jié)果。

19. 為什么腳本剛開(kāi)始運(yùn)行就有錯(cuò)誤厉熟,其后來(lái)的腳本還可運(yùn)行导盅?

在Thread Group中有相關(guān)設(shè)置,如果選擇了continue庆猫,即使前面的腳本出現(xiàn)錯(cuò)誤认轨,整個(gè)thread仍會(huì)運(yùn)行直到結(jié)束。選擇Stop Thread會(huì)結(jié)束當(dāng)前thread月培;選擇Stop Test則會(huì)結(jié)束全部的thread嘁字。推薦選項(xiàng)是Stop Thread。

20.在Regular expression_r Extractor會(huì)看到Template的值是$1$,這個(gè)值是什么意思呢杉畜?

$1$是指取第一個(gè)()里面的值纪蜒。如果Regular expression_r的數(shù)值有多個(gè),用這種方法可以避免不必要的麻煩此叠。

21.Regular expression_r中的(.*)是什么意思纯续?

那是一個(gè)正則表達(dá)式(regular expression_r)。’.’等同于sql語(yǔ)言中的’?’,表示可有可無(wú)猬错〈翱矗’*’表示0個(gè)或多個(gè)【氤矗’()’表示需要取值显沈。(.*)表達(dá)任意長(zhǎng)度的字符串。

22.在讀取Regular expression_r時(shí)要注意什么逢唤?

一定要保證所取數(shù)值的絕對(duì)唯一性拉讯。

23.怎樣才能判斷什么樣的情況需要添加Regular expression_r Extractor?

檢查Http Request中的Send Parameters,如果有某個(gè)參數(shù)是其前一個(gè)page中所沒(méi)有給出的鳖藕,就要到原文件中查找魔慷,并添加Regular expression_r Extractor到其前一page的http request中。

24.在自動(dòng)獲取的腳本中有時(shí)會(huì)出現(xiàn)空的http request著恩,是什么意思呢院尔?

是因?yàn)樵讷@取腳本時(shí)有些錯(cuò)誤,是腳本工具原因页滚。在run時(shí)這種錯(cuò)誤不參與運(yùn)行的召边。

25.在運(yùn)行結(jié)果中為何有rate為N/A的情況出現(xiàn)?

可能因?yàn)镴Meter自身問(wèn)題造成裹驰,再次運(yùn)行可以得到正確結(jié)果隧熙。

26.常用http錯(cuò)誤代碼有哪些?

400無(wú)法解析此請(qǐng)求幻林。

403禁止訪問(wèn):訪問(wèn)被拒絕贞盯。

404找不到文件或目錄。

405用于訪問(wèn)該頁(yè)的HTTP動(dòng)作未被許可沪饺。

410文件已刪除躏敢。

500服務(wù)器內(nèi)部錯(cuò)誤。

501標(biāo)題值指定的配置沒(méi)有執(zhí)行整葡。

502 Web服務(wù)器作為網(wǎng)關(guān)或代理服務(wù)器時(shí)收到無(wú)效的響應(yīng)件余。

27.Http request中的Send Parameters是指什么?

是指code中寫定的值和自定義變量中得到的值遭居,就是在運(yùn)行頁(yè)面時(shí)需要的參數(shù)啼器。

28.Parameters在頁(yè)面中是不斷傳遞的么?

是的俱萍。參數(shù)再產(chǎn)生后會(huì)在頁(yè)面中一直傳遞到所需頁(yè)面端壳。所以我們可以在動(dòng)態(tài)參數(shù)產(chǎn)生時(shí)捕獲它,也可以在所需頁(yè)面的上一頁(yè)面捕獲枪蘑。(但是這樣可能有錯(cuò)誤损谦,最好在產(chǎn)生頁(yè)面獲取)

29.在使用JMeter測(cè)試時(shí)岖免,是完全模擬用戶操作么?造成的結(jié)果也和用戶操作完全相同么照捡?

是的颅湘。JMeter完全模擬用戶操作,所以操作記錄會(huì)全部寫入DB.在運(yùn)行失敗時(shí)栗精,可能會(huì)產(chǎn)生錯(cuò)誤數(shù)據(jù)栅炒,這就取決于腳本檢查是否嚴(yán)謹(jǐn),否則錯(cuò)誤數(shù)據(jù)也會(huì)進(jìn)入DB术羔,給程序運(yùn)行帶來(lái)很多麻煩。

六.Jmeter測(cè)試心得(轉(zhuǎn)載) http://www.javaeye.com/topic/211216

企業(yè)應(yīng)用開(kāi)發(fā)過(guò)程中乙漓,性能測(cè)試是很重要的一個(gè)環(huán)節(jié)级历,在這個(gè)環(huán)節(jié)中Apache的JMeter以它開(kāi)源、100%純Java叭披、操作方便等優(yōu)點(diǎn)發(fā)揮著很大的作用寥殖。

經(jīng)過(guò)一段時(shí)間的使用,多少有些心得和技巧涩蜘,拿出來(lái)共享嚼贡,希望能有些幫助。

1同诫、制作測(cè)試腳本:

手工制作測(cè)試腳本粤策,需要你知道請(qǐng)求的url和攜帶的參數(shù)等等,太花費(fèi)時(shí)間误窖,

所以可以用badboy工具錄制腳本叮盘。這個(gè)工具雖然不是開(kāi)源的,但是卻可以用來(lái)免費(fèi)的錄制成.jmx的腳本霹俺,使用起來(lái)很方便柔吼。

官方網(wǎng)站是:http://www.badboy.com.au/

2、出現(xiàn)亂碼了丙唧?

在用JMeter發(fā)行HTTPRequest時(shí)愈魏,在請(qǐng)求參數(shù)中有中文時(shí),發(fā)現(xiàn)存儲(chǔ)到DB中后想际,相應(yīng)的字段是亂碼培漏,

明明在參數(shù)后面的Encode選項(xiàng)中打了V。后來(lái)發(fā)現(xiàn)badboy錄制腳本的時(shí)候并沒(méi)有記錄編碼方式沼琉,所以修改腳本北苟,

在Content encoding中設(shè)置正確的編碼方式就不會(huì)出現(xiàn)亂碼了。

3打瘪、JMeter的妙用---準(zhǔn)備測(cè)試數(shù)據(jù):

要求性能測(cè)試開(kāi)始前友鼻,先準(zhǔn)備5W條數(shù)據(jù)傻昙。當(dāng)然可以通過(guò)直接修改DB,但是如果這5W條數(shù)據(jù)涉及到很多表的關(guān)聯(lián)彩扔,

甚至還要通過(guò)存儲(chǔ)過(guò)程的處理怎么辦妆档,直接修改DB很容易出現(xiàn)錯(cuò)誤的數(shù)據(jù),要是在客戶的機(jī)器上弄錯(cuò)虫碉,可就闖禍了贾惦。

這時(shí)候想到了JMeter,它本來(lái)是用來(lái)模擬大量用戶并發(fā)請(qǐng)求的敦捧,現(xiàn)在用它來(lái)批量的生成數(shù)據(jù)吧须板。

如果要求每條數(shù)據(jù)都不同,就要修改腳本兢卵,使用JMeter的函數(shù)來(lái)動(dòng)態(tài)產(chǎn)生數(shù)據(jù)习瑰,比較常用的是CSVRead函數(shù),

記不住名的話Ctrl+F可以呼喚出函數(shù)助手秽荤。使用這個(gè)函數(shù)的時(shí)候需要注意幾點(diǎn)甜奄,首先是csv文件的編碼格式,

使用ansi沒(méi)有問(wèn)題窃款,使用unicode時(shí)會(huì)使讀取的第一行數(shù)據(jù)出現(xiàn)錯(cuò)誤课兄;

${__CSVRead(data.txt,0)}---讀取本行的第一列值

${__CSVRead(data.txt,1)}${__CSVRead(data.txt,next)}---讀取本行的第二列值,并把行標(biāo)移動(dòng)到下一行

試驗(yàn)證明JMeter應(yīng)該做好了同步晨继,在多線程環(huán)境下上面的調(diào)用方法沒(méi)有問(wèn)題烟阐;

最后,修改JMeter的線程數(shù)會(huì)加快數(shù)據(jù)生成的速度踱稍,原理是當(dāng)并發(fā)線程在20左右的時(shí)候會(huì)達(dá)到最大的吞吐量(request/分)曲饱,

所以應(yīng)該設(shè)定線程數(shù)20左右。

4珠月、JMeter中debug方法:

JMeter提供了log函數(shù)輸出log扩淀,但是有時(shí)候并不好用,比如我想輸出某個(gè)函數(shù)的返回值看是不是正確的啤挎,

${__log(${__CSVRead(data.txt,1)})}這樣的寫法是錯(cuò)誤的驻谆,JMeter會(huì)拋出異常,該怎么辦呢庆聘?

答案是巧用監(jiān)聽(tīng)器(Listener)來(lái)輸出想看到的數(shù)據(jù)胜臊,結(jié)果顯示為樹(shù)的那個(gè)監(jiān)聽(tīng)器,

它可以讓你查看每個(gè)sampler的請(qǐng)求數(shù)據(jù)和響應(yīng)數(shù)據(jù)伙判,在請(qǐng)求數(shù)據(jù)中就有你想看到的信息象对。

5、常用的功能:

?使用HTTP Cookie Manager或URL重寫實(shí)現(xiàn)同一線程內(nèi)的多個(gè)請(qǐng)求共享Session宴抚。

?把Login的請(qǐng)求放到只執(zhí)行一次的控制器中勒魔,那么即使循環(huán)多次甫煞,Login也只請(qǐng)求一次。

?如果想讓多個(gè)線程在同一時(shí)刻同時(shí)請(qǐng)求冠绢,那么用Synchronizing Timer來(lái)做集合點(diǎn)抚吠。

?為了節(jié)省系統(tǒng)資源,使用非窗口模式運(yùn)行JMeter(jmeter -n -t test.jmx)

?如果模擬并發(fā)用戶過(guò)多弟胀,比如200線程楷力,那么可以分散到多臺(tái)機(jī)器上運(yùn)行Jmeter(比如4臺(tái)電腦,每臺(tái)50線程)

更多功能請(qǐng)參照使用手冊(cè)

中文手冊(cè)(未完成)http://wiki.javascud.org/pages/viewpage.action?pageId=5566

6孵户、在winnt系統(tǒng)上萧朝,使用perfmon來(lái)幫助Jmeter采集服務(wù)器的系統(tǒng)資源數(shù)據(jù),可以配置log輸出這些數(shù)據(jù)作為性能瓶頸分析時(shí)使用夏哭。

七.置信區(qū)間 http://java.chinaitlab.com/tools/355421.html

對(duì)數(shù)據(jù)進(jìn)行更科學(xué)的分析剪勿,確定測(cè)試結(jié)果。類似于Jmeter聚合報(bào)告的90% Line給出的參考方庭,而不能僅僅參考均值。

記:熟悉Jmeter使用之后酱固,自己更應(yīng)該關(guān)注的是“測(cè)試實(shí)踐”械念,以及通過(guò)怎么樣的方法改進(jìn)性能。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末运悲,一起剝皮案震驚了整個(gè)濱河市龄减,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌班眯,老刑警劉巖希停,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異署隘,居然都是意外死亡宠能,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門磁餐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)违崇,“玉大人,你說(shuō)我怎么就攤上這事诊霹⌒哐樱” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵脾还,是天一觀的道長(zhǎng)伴箩。 經(jīng)常有香客問(wèn)我,道長(zhǎng)鄙漏,這世上最難降的妖魔是什么嗤谚? 我笑而不...
    開(kāi)封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任棺蛛,我火速辦了婚禮,結(jié)果婚禮上呵恢,老公的妹妹穿的比我還像新娘鞠值。我一直安慰自己,他們只是感情好渗钉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布彤恶。 她就那樣靜靜地躺著,像睡著了一般鳄橘。 火紅的嫁衣襯著肌膚如雪声离。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天瘫怜,我揣著相機(jī)與錄音术徊,去河邊找鬼。 笑死鲸湃,一個(gè)胖子當(dāng)著我的面吹牛赠涮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播暗挑,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼笋除,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了炸裆?” 一聲冷哼從身側(cè)響起垃它,我...
    開(kāi)封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎烹看,沒(méi)想到半個(gè)月后国拇,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惯殊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年酱吝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片土思。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡掉瞳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出浪漠,到底是詐尸還是另有隱情陕习,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布址愿,位于F島的核電站该镣,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏响谓。R本人自食惡果不足惜损合,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一省艳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嫁审,春花似錦跋炕、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至捂贿,卻和暖如春纠修,著一層夾襖步出監(jiān)牢的瞬間抒和,已是汗流浹背朵栖。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工导绷, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留填具,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓搀罢,卻偏偏與公主長(zhǎng)得像康嘉,于是被迫代替她去往敵國(guó)和親仆抵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子甫窟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

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

  • 在使用Jmeter進(jìn)行接口的性能測(cè)試時(shí)上岗,由于Jmeter 是JAVA應(yīng)用,對(duì)于CPU和內(nèi)存的消耗比較大蕴坪,所以,當(dāng)需...
    燕京博士閱讀 4,168評(píng)論 0 16
  • 1. JMeter 測(cè)試計(jì)劃 測(cè)試計(jì)劃 使用JMeter進(jìn)行測(cè)試的起點(diǎn)敬锐,是其它JMeter測(cè)試元件的容器背传。 線程組...
    alamZheng閱讀 3,355評(píng)論 0 7
  • 1. Apache JMeter是什么?Apache JMeter 是Apache組織的開(kāi)放源代碼項(xiàng)目台夺,是一個(gè)1...
    七月尾巴_葵花閱讀 1,769評(píng)論 0 2
  • 1 Jmeter安裝配置 使用Jmeter前首先要安裝JDK径玖,配置JDK環(huán)境變量。Jmeter不需要安裝颤介,下載后...
    茶小汐閱讀 2,929評(píng)論 0 8
  • 脆弱的誘惑 勾引酸澀的淚 眼皮的沉重 壓垮黯然的眸 痛苦碾壓過(guò)憔悴身軀 喘不過(guò)氣 苦難在胸膛 埋下壓力的種子 在時(shí)...
    拿鐵抹茶閱讀 229評(píng)論 1 6