第五篇:JMeter 定时器
前言
在默認(rèn)情況下,jmeter 發(fā)送每個(gè)請求之間是沒有延時(shí)的,如果采用默認(rèn)方式,如果線程數(shù)足夠大,瞬間就會將服務(wù)器壓死。再則在實(shí)際的業(yè)務(wù)過程中,請求之間是有一定時(shí)間的停頓的所以在請求之間設(shè)置合理的延時(shí)是必須的,也是更接近用戶真實(shí)業(yè)務(wù)情況。在 jmeter 中,定時(shí)器組件提供了系列不同類型的延時(shí)控制。合理使用定時(shí)器組件,能讓你的性能測試更接近真實(shí),更能挖掘出系統(tǒng)的瓶頸和評估系統(tǒng)的性能指標(biāo)。
定時(shí)器類型
1、固定定時(shí)器
這是最簡單的一種定時(shí)器,也是新手最常用的一種方式。下面我們看下其具體設(shè)置:
因其是固定值,在實(shí)際模擬用戶請求的過程中,會失去靈活性,不推薦大量使用該定時(shí)器。
2、高斯隨機(jī)定時(shí)器
高斯隨機(jī)定時(shí)器,又可以稱作正態(tài)分布隨機(jī)定時(shí)器,該定時(shí)器可以設(shè)置在兩個(gè)請求間隨機(jī)延時(shí)時(shí)長。且總的延時(shí)是高斯分布(正態(tài)分布)的總和(均值:0.0、標(biāo)準(zhǔn)差 1.0)。在使用時(shí)須指定偏差延時(shí)值和偏移值。。下面我們看下其具體設(shè)置:
例如在訪問百度首頁,然后輸入關(guān)鍵詞進(jìn)行搜索,受網(wǎng)絡(luò)、人等各種因素影響,有的人打開首頁后 3s 后則進(jìn)行了搜索,有時(shí)則是 10s或更多時(shí)間,在正常情況下,打開百度然后進(jìn)行搜索,假設(shè)用戶間隔在 3s-10s 之間,從統(tǒng)計(jì)學(xué)來看,這個(gè)間隔時(shí)間可能是一個(gè)正態(tài)分布或接近正態(tài)分布。而不是一個(gè)固定的常量。從筆者在日常實(shí)踐中,也更推薦使用該定時(shí)器。能更接近模擬用戶實(shí)際情況。
3、Synchronizing Timer
這個(gè)定時(shí)器應(yīng)該是大家很期望的,它有在 LoadRunner 中有一個(gè)大家熟悉的名稱:集合點(diǎn)。是的,它實(shí)現(xiàn)了某種意義上的并發(fā)。
請注意 Timeout in milliseconds 盡量填寫一個(gè)合理的值。
4、Uniform Random Timer
該定時(shí)器可以在請求之間設(shè)置一個(gè)隨機(jī)延時(shí),每個(gè)隨機(jī)延時(shí)有相同的發(fā)生概率??偟难訒r(shí)等于隨機(jī)延時(shí) + 偏移延時(shí)值。該定時(shí)器也是常用之一。
? 5、Poisson Random Timer
類似高斯隨機(jī)定時(shí)器,只是其隨機(jī)延時(shí)值發(fā)生在一個(gè)特定的值??偟难訒r(shí)值呈現(xiàn)泊松分布。
?6、Constant Throughput Timer
通過控制每分鐘請求數(shù)(即控制吞吐的方式)來控制是否進(jìn)行延時(shí)暫停。
例如,當(dāng)我們需要使服務(wù)端長期處于一定的壓力下時(shí),可以通過該定時(shí)器來控制吞吐。
注意:吞吐值可以是常量,也可以使用函數(shù)來動態(tài)生成,已達(dá)成更靈活的使用,滿足不同的壓力場景。
?7、JSr R223 Timer???和? BeanShell Timer
這兩種定時(shí)器就不細(xì)說了,簡單的說就是提供了腳本方式來進(jìn)行控制,是更為靈活的方式。一般情況下,大家是不會用的。當(dāng)然有興趣的,可以去研究下,增強(qiáng)理解。
總結(jié)
本文就各種定時(shí)器進(jìn)行了介紹,并大致介紹了其可能的應(yīng)用場景。不管是哪種定時(shí)器,都需要深入理解業(yè)務(wù)的情況下,統(tǒng)籌規(guī)劃使用。以更深入的發(fā)揮其作用,模擬好真實(shí)應(yīng)用場景,更好的挖掘性能瓶頸和評估目標(biāo)服務(wù)的性能情況。
轉(zhuǎn)載于:https://www.cnblogs.com/pwj2lgx/p/10288824.html
總結(jié)
以上是生活随笔為你收集整理的第五篇:JMeter 定时器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.为什么使用spring boot
- 下一篇: 解决Ubuntu16.04重启进入ini