JMeter-Timers

18.6 Timers


JMeter3.1版有一個新特性驮俗,新增了乘法因子一項懂缕,可以通過設置屬性timer.factor=float number(其中float number是十進制正數(shù))將乘法因子應用于隨機定時器。
JMeter將把這個因子乘以計算出的睡眠延遲此功能可用于:

  • 高斯隨機定時器
  • 泊松隨機定時器
  • 均勻隨機定時器
    定時器與采樣器在同一范圍內(nèi)王凑,無論定時器是單個還是多個搪柑,定時器都將在每個采樣器之前處理;定時器與采樣器不在同一范圍內(nèi)索烹,將不被處理工碾。
    如果要將定時器應用于單個采樣器,可以將定時器添加為采樣器的子元素百姓;如果想在采樣器之后應用定時器倚喂,需要將定時器添加到下一個采樣器,或?qū)⑵涮砑拥?a target="_blank">Flow Control Action采樣器的子項瓣戚。

Constant Timer(常量定時器)


使用常量定時器時端圈,每個線程在請求之間暫停相同的時間。


常量定時器控制面板
  • Parameters
Attribute Description Required
Name 定時器名稱 NO
Thread Delay 暫停的毫秒數(shù) YES

Gaussian Random Timer(高斯隨機定時器)


高斯隨機定時器使得每個線程請求暫停一段隨機時間(隨機延遲時間)子库,隨機延遲時間總體分布在特定值附近舱权。總的延遲時間是高斯分布值(平均值為0.0仑嗅,標準偏差為1.0)乘以指定的偏差值(Deviation)加上偏移量(Offset Value)宴倍。另一種解釋方法是,在高斯隨機定時器中仓技,恒定偏移量的變化具有高斯曲線分布鸵贬。


高斯隨機定時器控制面板
  • Parameters
Attribute Description Required
Name 定時器名稱 NO
Deviation 偏差值(毫秒) YES
Constant Delay Offset 除了隨機延遲之外還需要暫停的毫秒數(shù)(原文查看Number of milliseconds to pause in addition to the random delay.) YES

Uniform Random Timer(均勻隨機定時器)


均勻隨機定時器使得每個線程請求暫停一段隨機時間),每個時間間隔具有相同的發(fā)生概率脖捻,總延遲是隨機值和偏差值的總和阔逼。


均勻隨機定時器控制面板
  • Parameters
Attribute Description Required
Name 定時器名稱 NO
Random Delay Maximum 最大的隨機暫停時間(單位是毫秒) YES
Constant Delay Offset 除了隨機延遲之外還需要暫停的毫秒數(shù) YES

Constant Throughput Timer(恒定吞吐量定時器)


恒定吞吐量定時器引入可變的暫停時間,使得總吞吐量(以每分鐘的采樣數(shù)計算)盡可能接近給定的數(shù)字地沮,如果服務器無法處理它嗜浮,或者其他計時器或耗時的測試元素阻止它,那么吞吐量將降低摩疑。
注意:雖然計時器被稱為恒定吞吐量定時器危融,但實際應用中,吞吐量可以根據(jù)變量或函數(shù)調(diào)用定義雷袋,并且可以在測試期間更改該值吉殃,該值可以通過多種方式更改:

  • 使用計數(shù)器變量
  • 使用一個__jexl3__groovy 函數(shù)提供一個變化的值
  • 使用遠程BeanShell服務更改JMeter屬性
    有關詳細信息,請參見 Best Practices蛋勺。

請注意速侈,在測試過程中不應該經(jīng)常更改吞吐量值,新值需要一段時間才能生效迫卢。

恒定吞吐量定時器控制面板
  • Parameters
Attribute Description Required
Name 定時器名稱 NO
Target Throughput 目標吞吐量 YES
Calculate Throughput based on 見附1 YES

附1

  • 當前線程-每個線程將嘗試保持目標吞吐量倚搬。總吞吐量將與活動線程數(shù)成比例乾蛤。
  • 當前線程組中的所有活躍線程-目標吞吐量除以當前線程組中的所有活躍線程每界。每個線程將根據(jù)它上次運行的時間而決定延遲時間。
  • 所有活躍線程-目標吞吐量在所有線程組中的所有活躍線程之間分配家卖。每個線程都會根據(jù)它上次運行的時間而決定延遲時間眨层。在這種情況下,每個線程組都需要一個具有相同設置的恒定吞吐量計時器上荡。
  • 當前線程組中的所有活躍線程(共享)-如上所述趴樱,但每個線程都會根據(jù)組中的任何線程上次運行的時間而延遲。
  • 所有活躍線程(共享)-如上所述酪捡;每個線程都會根據(jù)上次運行任何線程的時間延遲叁征。
    共享和非共享模式都是為了產(chǎn)生期望的吞吐量,不過共享算法強調(diào)總體上更準確的目標吞吐量逛薇,非共享模式強調(diào)在線程之間目標吞吐量的均勻分布捺疼。(該部分不確定,詳細查看The shared and non-shared algorithms both aim to generate the desired throughput, and will produce similar results.The shared algorithm should generate a more accurate overall transaction rate.The non-shared algorithm should generate a more even spread of transactions across threads.)

Precise Throughput Timer(精確吞吐量定時器)


精確吞吐量定時器引入可變的暫停時間永罚,使得總吞吐量(例如啤呼,以每分鐘的樣本數(shù)為單位)盡可能接近給定值。當然呢袱,如果服務器不能處理它官扣,或者如果存在其他計時器,或者如果沒有足夠的線程羞福,或者耗時的測試元素阻止它惕蹄,那么吞吐量將降低。
雖然該定時器被稱為精確吞吐量定時器坯临,但其目的并不是在測試期間每隔1秒產(chǎn)生相同數(shù)量的樣本焊唬。
定時器最適合36000個請求/小時以下的QPS,測試時間過長這個值會有所波動(如果您的目標相差很大看靠,請參閱下面的監(jiān)控部分)。

精確吞吐量控制器在測試計劃中的最佳位置


計時器由所有同級元素及其子元素繼承液肌。所以精確吞吐量計時器最好放在測試循環(huán)的第一個元素之下挟炬。例如,您可以在開始處添加一個虛擬采樣器,并將計時器放在該虛擬采樣器下谤祖。

精確吞吐量定時器實現(xiàn)原理


精確吞吐量定時器的實現(xiàn)是基于泊松過程婿滓,但泊松過程可能會出現(xiàn)以下的問題。真正的泊松過程的抵達率λ會比較大(λ表示單位時間內(nèi)事件的平均發(fā)生次數(shù))粥喜,這會導致凸主,比如λ=1,則可能會在60秒長的測試中得到50個樣本额湘。恒定吞吐量計時器會將λ收斂到指定的速率卿吐,但它更傾向于以偶數(shù)間隔生成樣本。

爬坡和啟動峰值問題


我們可以使用“加速”或類似的方法來避免測試開始時出現(xiàn)的峰值锋华。例如嗡官,如果將線程組配置為有100個線程,并將Ramp-up Period(爬坡周期)設置為0(或者一個很小的數(shù))毯焕,所有線程將同時啟動衍腥,則會產(chǎn)生一個負載的峰值。除此之外纳猫,如果設置的Ramp-up Period(爬坡周期)太高婆咸,則可能無法達到所需的負載。
精確的吞吐量計時器以隨機方式執(zhí)行所有線程芜辕,因此它可以用于生成恒定負載擅耽,并且爬坡周期和延遲最好設置為0。

多個線程組同時開始


當測試計劃包含多個線程組時物遇,也可能會出現(xiàn)爬坡問題乖仇。為了緩解這個問題,通常會向每個線程組添加隨機延遲询兴,以便線程在不同的時間啟動乃沙。
精確的吞吐量計時器可以避免這個問題,因為它以隨機方式調(diào)度執(zhí)行線程組诗舰,而不需要手動添加額外的隨機延遲來緩解啟動峰值警儒。

每小時的迭代次數(shù)


例如,我們需要完成每小時60次迭代眶根,則需要進行如下配置(其他參數(shù)可以保留其默認值)

  • Target throughput-目標吞吐量(樣本數(shù)):60
  • Throughput period(seconds)-吞吐量周期(秒):3600
  • Test duration(seconds)-測試持續(xù)時間(秒):3600
    前兩個選項設置吞吐量蜀铲。即60/3600、30/1800和120/7200代表完全相同的負載級別属百,實際需要根據(jù)業(yè)務需求設置負載級別记劝。例如,如果要求測試“每小時60個樣本”族扰,則設置60/3600厌丑。如果要求測試“每分鐘1個樣本”定欧,則設置1/60。
    Test duration是為了確保在測試持續(xù)時間內(nèi)定時器能夠給出一個準確的樣本數(shù)怒竿。精確吞吐量定時器在測試計劃開始時就制定了自己的測試調(diào)度砍鸠。例如,如果您希望以每小時60的吞吐量執(zhí)行5分鐘的測試耕驰,您可以將測試持續(xù)時間(秒)設置為300爷辱。注意:Test duration是針對定時器而言,并不影響測試計劃的完整測試時間朦肘。

線程數(shù)和思考時間


測試低速率和可重復測試


測試高頻率和長時間測試


脈沖負荷


可變負載率


監(jiān)控


  • Parameters
Attribute Description Required
Name 定時器名稱 NO
Target throughput (in samples per 'throughput period')-目標吞吐量 定時器名稱 YES
Throughput period (seconds)-吞吐量周期 定時器名稱 YES
Test duration (seconds)-測試持續(xù)時間 定時器名稱 YES
Number of threads in the batch (threads)-每次迭代的線程數(shù) 定時器名稱 YES
Delay between threads in the batch (ms)-每次迭代線程間的延遲 定時器名稱 YES
Use approximate throughput when sequence length exceeds (samples)-當序列長度超過(樣本)時使用近似吞吐量 定時器名稱 YES
Allowed throughput surplus (percents)-允許吞吐量盈余(百分比) 定時器名稱 YES
Random seed (change from 0 to random)-隨機數(shù)(從0開始) 定時器名稱 YES
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饭弓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子厚骗,更是在濱河造成了極大的恐慌示启,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件领舰,死亡現(xiàn)場離奇詭異夫嗓,居然都是意外死亡,警方通過查閱死者的電腦和手機冲秽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門舍咖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人锉桑,你說我怎么就攤上這事排霉。” “怎么了民轴?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵攻柠,是天一觀的道長。 經(jīng)常有香客問我后裸,道長瑰钮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任微驶,我火速辦了婚禮浪谴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘因苹。我一直安慰自己苟耻,他們只是感情好,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布扶檐。 她就那樣靜靜地躺著凶杖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蘸秘。 梳的紋絲不亂的頭發(fā)上官卡,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天蝗茁,我揣著相機與錄音醋虏,去河邊找鬼寻咒。 笑死,一個胖子當著我的面吹牛颈嚼,可吹牛的內(nèi)容都是我干的毛秘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼阻课,長吁一口氣:“原來是場噩夢啊……” “哼叫挟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起限煞,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤抹恳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后署驻,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奋献,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年旺上,在試婚紗的時候發(fā)現(xiàn)自己被綠了瓶蚂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡宣吱,死狀恐怖窃这,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情征候,我是刑警寧澤杭攻,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站疤坝,受9級特大地震影響兆解,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卒煞,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一痪宰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧畔裕,春花似錦衣撬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至甜无,卻和暖如春扛点,著一層夾襖步出監(jiān)牢的瞬間哥遮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工陵究, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留眠饮,地道東北人。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓铜邮,卻偏偏與公主長得像仪召,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子松蒜,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355