您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源性能測(cè)試工具 > Jmeter
JMeter技巧集錦
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/12/6 15:46:00 ] 推薦標(biāo)簽:

  圖2 JMeter 聚合報(bào)告

  第三, 查驗(yàn)一下Jmeter日志(文件位置:JMeter_Home_Directory/bin) 的后一個(gè)線程開始時(shí)第一個(gè)線程是否真正結(jié)束了,二者的時(shí)間差是否正常。

  總之,是否能確定一個(gè)適當(dāng)?shù)膔amp-up time 取決于以下兩條規(guī)則:
  ·第一個(gè)取樣器的點(diǎn)擊率(hit rate)是否接近其他取樣器的平均值,從而能否避免ramp-up period 過小。
  ·在后一個(gè)線程啟動(dòng)時(shí),第一個(gè)線程是否在真正結(jié)束了,好二者的時(shí)間要盡可能的長,以避免ramp-up period過大。

  有時(shí),這兩條規(guī)則的結(jié)論會(huì)互相沖突。 這意味著無法找到同時(shí)滿足兩條規(guī)則的合適的ramp-up period。 糟糕的測(cè)試計(jì)劃通常會(huì)導(dǎo)致這些問題,這是因?yàn)樵谶@樣的測(cè)試計(jì)劃里,取樣器將不能充分地采集數(shù)據(jù),可能因?yàn)闇y(cè)試計(jì)劃執(zhí)行時(shí)間太短并且線程會(huì)很快的運(yùn)行結(jié)束。

 

  用戶思考時(shí)間(User think time),定時(shí)器,和代理服務(wù)器(proxy server)

  在負(fù)載測(cè)試中需要考慮的的一個(gè)重要要素是思考時(shí)間(think time), 也是在兩次成功的訪問請(qǐng)求之間的暫停時(shí)間。 有多種情形揮發(fā)導(dǎo)致延遲的發(fā)生: 用戶需要時(shí)間閱讀文字內(nèi)容,或者填表, 或者查找正確的鏈接等。未認(rèn)真考慮思考時(shí)間經(jīng)常會(huì)導(dǎo)致測(cè)試結(jié)果的失真。例如,估計(jì)數(shù)值不恰當(dāng),也是被測(cè)系統(tǒng)可以支持的多用戶量(并發(fā)用戶)看起來好像要少一些等。

  Jmeter提供了一整套的計(jì)時(shí)器(timer)來模擬思考時(shí)間(think time), 但是仍舊存在一個(gè)問題:: 如何確定適當(dāng)?shù)乃伎紩r(shí)間呢?幸運(yùn)的是, JMeter 提供了一個(gè)不錯(cuò)的答案:使用 JMeter HTTP 代理服務(wù)器(Proxy Server)元件。

  代理服務(wù)器會(huì)記錄在使用一個(gè)普通的瀏覽器(如FireFox 或 Internet Explorer)瀏覽一個(gè)web應(yīng)用時(shí)的操作。 另外, JMeter 在記錄操作的同時(shí)會(huì)建立一個(gè)測(cè)試計(jì)劃(test plan)。 這個(gè)功能能提供以下便利:

  ·不必手工建立HTTP 訪問請(qǐng)求, 尤其是當(dāng)要設(shè)置一些令人乏味的參數(shù)時(shí)(然而,非英文的參數(shù)也許不能正常工作) 。JMeter 將會(huì)錄制包括隱含字段(hidden fields)在內(nèi)的所有內(nèi)容。

  ·在生成的測(cè)試計(jì)劃中,Jmeter會(huì)包含瀏覽器生成的所有的 HTTP 報(bào)頭,如User-Agent (e。g。, Mozilla/4。0), 或Aclearcase/" target="_blank" >cceptLanguage (e。g。, zh-tw,en-us;q=0。7,zh-cn;q=0。3)等。

  ·JMeter 會(huì)根據(jù)設(shè)置在錄制操作的同時(shí)建立一些定時(shí)器,其延遲時(shí)間是完全根據(jù)真實(shí)的操作來設(shè)置的
現(xiàn)在讓我們來看一下如何配置Jmeter的錄制功能。 在JMeter 的控制臺(tái)上, 在工作臺(tái)(WorkBench)元件上單擊右鍵,然后選擇”add the HTTP Proxy Server “。 注意是在WorkBench 上單擊右鍵而不是在Test Plan上, 因?yàn)楝F(xiàn)在是要為記錄操作進(jìn)行配置而不是要運(yùn)行測(cè)試計(jì)劃。  HTTP Proxy Server 的實(shí)現(xiàn)原理是通過配置瀏覽器的代理服務(wù)器而使所有的訪問請(qǐng)求通過JMeter發(fā)送(,因而被Jmeter把訪問過程錄制下來)。

  如圖3所示, HTTP代理服務(wù)器(HTTP Proxy Server)元件的一些參數(shù)必須被配置:

  ·端口(port): 代理服務(wù)器的監(jiān)聽端口

  ·目標(biāo)控制器(Target Controller): 是代理用于存儲(chǔ)生成的數(shù)據(jù)的控制器,默認(rèn)情況下,, JMeter 將會(huì)在當(dāng)前的測(cè)試計(jì)劃中找一個(gè)記錄用的控制器用于存儲(chǔ),此外也可以在下拉菜單中選擇任意控制起來存儲(chǔ),通常默認(rèn)值可以了。

  ·分組(Grouping): 確定在測(cè)試計(jì)劃中如何來為生成的元件分組。 有多個(gè)選項(xiàng), 一般可以選擇“只存儲(chǔ)每個(gè)組的第一個(gè)樣本”,否則,將會(huì)原樣錄制URLs,包括包含圖像和JavaScripts腳本的頁面。當(dāng)然 也可以嘗試一下默認(rèn)值“不對(duì)樣本分組”("Do not group samples"),來看一下JMeter 建立的原版的測(cè)試計(jì)劃。


  ·包含模式(Patterns to Include) 和 排除模式(Patterns to Exclude) :幫助過濾一些不需要的訪問請(qǐng)求。

  圖 3。 JMeter 代理服務(wù)器(Proxy Server)。

  當(dāng)你點(diǎn)擊開始(Start)按鈕時(shí),代理服務(wù)器會(huì)開始記錄所接受的HTTP 訪問請(qǐng)求。 當(dāng)然,在開始記錄前,要首先設(shè)置好瀏覽器的代理服務(wù)器設(shè)置。在代理服務(wù)器元件中可以增加一個(gè)定時(shí)器子元件(配置元件),用于告知Jmeter來在其生成的HTTP請(qǐng)求中自動(dòng)的增加一個(gè)定時(shí)器。Jmeter會(huì)自動(dòng)把實(shí)際的延遲時(shí)間存儲(chǔ)為一個(gè)被命名為T的Jmeter變量,因此,如果在代理服務(wù)器元件里使用了高斯隨機(jī)定時(shí)器,應(yīng)該在其中的固定延遲偏移(Constant Delay Offset)設(shè)置項(xiàng)里添上${T}(用于自動(dòng)引用紀(jì)錄的延遲時(shí)間),如圖4所示。這是另一個(gè)節(jié)省時(shí)間的便利特性。

上一頁1234下一頁
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd