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

  JMeter 是一個流行的用于負載測試的開源工具, 具有許多有用的功能元件,如線程組(thread group), 定時器(timer), 和HTTP 取樣 (sampler) 元件。 本文是對JMeter 用戶手冊的補充,而且提供了關于使用Jmeter的一些模擬元件開發(fā)質(zhì)量測試腳本的指導。

  本文同時也討論了一項重要的內(nèi)容:在指定了精確的響應時間要求后,如何來校驗測試結(jié)果,特別是在采用了置信區(qū)間分析這種嚴格的統(tǒng)計方式的情況下應如何操作。請注意,我假定本文的讀者們了解關于Jmeter的基礎知識,本文的例子基于Jmeter2。0。3版。

  確定一個線程組的ramp-up period (Determine)

  Jmeter腳本的第一個要素是線程組(Thread Group),因此首先讓我們來回顧一下。 正如圖一所示,線程組需要設置以下參數(shù):
  ·線程數(shù)量。
  ·ramp-up period。
  ·運行測試的次數(shù)。
  ·啟動時間:立即或者預定的時間,如果是后者,線程組所包含的元素也要指定這個起止時間。

  圖 1。 JMeter 線程組(JMeter Thread Group)

  每個線程均獨立運行測試計劃。因此, 線程組常用來模擬并發(fā)用戶訪問。如果客戶機沒有足夠的能力來模擬較重的負載,可以使用Jmeter的分布式測試功能來通過一個Jmeter控制臺來遠程控制多個Jmeter引擎完成測試。

  參數(shù) ramp-up period 用于告知JMeter 要在多長時間內(nèi)建立全部的線程。默認值是0。如果未指定ramp-up period ,也是說ramp-up period 為零, JMeter 將立即建立所有線程,假設ramp-up period 設置成T 秒, 全部線程數(shù)設置成N個, JMeter 將每隔T/N秒建立一個線程。

  線程組的大部分參數(shù)是不言自明的,只有ramp-up period有些難以理解, 因為如何設置適當?shù)闹挡⒉蝗菀住?首先,如果要使用大量線程的話,ramp-up period 一般不要設置成零。 因為如果設置成零,Jmeter將會在測試的開始建立全部線程并立即發(fā)送訪問請求, 這樣一來很容易使服務器飽和,更重要的是會隱性地增加了負載,這意味著服務器將可能過載,不是因為平均訪問率高而是因為所有線程的第一次并發(fā)訪問而引起的不正常的初始訪問峰值,可以通過Jmeter的聚合報告監(jiān)聽器看到這種現(xiàn)象。

這種異常不是我們需要的,因此,確定一個合理的ramp-up period 的規(guī)則是讓初始點擊率接近平均點擊率。當然,也許需要運行一些測試來確定合理訪問量。

  基于同樣的原因,過大的ramp-up period 也是不恰當?shù)模驗閷档驮L問峰值的負載,換句話說,在一些線程還未啟動時,初期啟動的部分線程可能已經(jīng)結(jié)束了。

  那么,如何檢驗ramp-up period I太小了或者太大了呢?首先,推測一下平均點擊率并用總線程除點擊率來計算初始的ramp-up period。 例如,假設線程數(shù)為100, 估計的點擊率為每秒10次, 那么估計的理想ramp-up period 是 100/10 = 10 秒。 那么,應怎樣來提出一個合理的估算點擊率呢?沒有什么好辦法,必須通過運行一次測試腳本來獲得。

  其次, 在測試計劃(test plan)中增加一個聚合報告監(jiān)聽器,如圖2所示,其中包含了所有獨立的訪問請求(一個samplers)的平均點擊率。 第一次取樣的點擊率(如http請求)與ramp-up period 和線程數(shù)量密切相關。通過調(diào)整ramp-up period 可以使首次取樣的奠基率接近平均取樣的點擊率。

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