jmeter吞吐量_深入理解Jmeter常用定时器
bug
前言
jmeter并發(fā)測試每個(gè)請(qǐng)求之間是沒有延時(shí)的,但實(shí)際工作有時(shí)候需要增加固定時(shí)間來測試,那么可以Jmeter定器組件,完成工作。其實(shí)這些知識(shí)百度一查就出來,為什么還要寫,主要方便自己復(fù)習(xí),要找的時(shí)候就從自己文章中找出,而且這些自己通過自己調(diào)試后,直接可以拿出來用。
jmeter定時(shí)器分類:
Constant Timer 固定定時(shí)器
Uniform Random Timer 均勻隨機(jī)定時(shí)器
Constant Throughput Timer 固定吞吐量定時(shí)器
Gaussian Random Timer 高斯隨機(jī)定時(shí)器
JSR223 Timer JSR223定時(shí)器
Poisson Random Timer 泊松隨機(jī)定時(shí)器
Synchronizing Timer 同步定時(shí)器
BeanShell Timer BeanShell腳本編寫定時(shí)器
Precise Throughput Timer 精準(zhǔn)吞吐量定時(shí)器
定時(shí)器
1、Constant Timer 固定定時(shí)器(重要常用):
固定定時(shí)器
作用:通過ThreadDelay設(shè)定每個(gè)線程請(qǐng)求之前的等待時(shí)間(單位為毫秒)。注意:固定定時(shí)是有作用域的,放到線程組下其作用域是所有請(qǐng)求都會(huì)延遲固定器設(shè)置的時(shí)間,如果放到請(qǐng)求內(nèi),作用域是單個(gè)請(qǐng)求延遲時(shí)間(常用)。
2、Uniform Random Timer 均勻隨機(jī)定時(shí)器
Uniform Random Time定時(shí)器
作用:它產(chǎn)生的延遲時(shí)間是個(gè)隨機(jī)值,而各隨機(jī)值出現(xiàn)的概率均等。總的延遲時(shí)間等于一個(gè)隨機(jī)延遲時(shí)間加上一個(gè)固定延遲時(shí)間,用戶可以設(shè)置隨機(jī)延遲時(shí)間和固定延遲時(shí)間。
總延遲時(shí)間=指定范圍內(nèi)的隨機(jī)時(shí)間+固定延遲時(shí)間。
3、Constant Throughput Timer 固定吞吐量定時(shí)器
作用: 按指定的吞吐量執(zhí)行,以每分鐘為單位。計(jì)算吞吐量依據(jù)是最后一次線程的執(zhí)行時(shí)延。
Target throughput(in samples per minute):目標(biāo)吞吐量。注意這里是每分鐘發(fā)送的請(qǐng)求數(shù),可以選擇作用的線程:當(dāng)前線程、當(dāng)前線程組、所有線程組等,具體含義如下:
this thread only: 設(shè)置每個(gè)線程的吞吐量。總的吞吐量=線程數(shù)*該值。
all active threads in current thread group:吞吐量被分?jǐn)偟疆?dāng)前線程組所有的活動(dòng)線程上。每個(gè)線程將根據(jù)上次運(yùn)行時(shí)間延遲。
all active threads:吞吐量被分配到所有線程組的所有活動(dòng)線程的總吞吐量。每個(gè)線程將根據(jù)上次運(yùn)行時(shí)間延遲。在這種情況下,每個(gè)線程組需要一個(gè)具有相同設(shè)置的固定吞吐量定時(shí)器。(不常用)
all active threads in current thread group (shared):同上,但是每個(gè)線程是根據(jù)組中的線程的上一次運(yùn)行時(shí)間來延遲。相當(dāng)于線程組組內(nèi)排隊(duì)。(不常用)
all active threads (shared):同上,但每個(gè)線程是根據(jù)線程的上次運(yùn)行時(shí)間來延遲。相當(dāng)于讓所有線程組整體排隊(duì)。(不常用)
4、Gaussian Random Timer 高斯隨機(jī)定時(shí)器
Gaussian Random Timer 高斯隨機(jī)定時(shí)器
作用:每個(gè)線程的延遲時(shí)間是符合標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)時(shí)間停頓,那么使用這個(gè)定時(shí)器,總延遲 = 高斯分布值(平均0.0和標(biāo)準(zhǔn)偏差1.0)* 指定的偏差值+固定延遲偏移(Math.abs((this.random.nextGaussian() * 偏差值) + 固定延遲偏移))
5、JSR223 Timer JSR223定時(shí)器
JSR223 Timer JSR223定時(shí)器
作用:JSR223計(jì)時(shí)器可以使用JSR223腳本語言生成延遲;
參考幫助文檔:
https://jmeter.apache.org/usermanual/component_reference.html#JSR223_Timer
6、Poisson Random Timer 泊松隨機(jī)定時(shí)器
Poisson Random Timer 泊松隨機(jī)定時(shí)器
作用:這個(gè)定時(shí)器在每個(gè)線程請(qǐng)求之前按隨機(jī)的時(shí)間停頓,總的延遲就是泊松分布值和偏移值之和。
上面表示暫停時(shí)間會(huì)分布在100到400毫秒之間:
(1)Lambda(in milliseconds):蘭布達(dá)值
(2)Constant Delay Offset(in milliseconds):暫停的毫秒數(shù)減去隨機(jī)延遲的毫秒數(shù)
7、Synchronizing Timer 同步定時(shí)器(重要-常用)
Synchronizing Timer 同步定時(shí)器
作用:用來設(shè)置集合點(diǎn),其作用是:阻塞線程,直到指定的線程數(shù)量到達(dá)后,再一起釋放,可以瞬間產(chǎn)生很大的壓力
(1)Number of Simulated Users to Group by:模擬用戶的數(shù)量,即指定同時(shí)釋放的線程數(shù)數(shù)量,若設(shè)置為0,等于設(shè)置為線程組中的線程數(shù)量;
(2)Timeout in milliseconds:超時(shí)時(shí)間,即超時(shí)多少毫秒后同時(shí)釋放指定的線程數(shù);如果設(shè)置為0,該定時(shí)器將會(huì)等待線程數(shù)達(dá)到了設(shè)置的線程數(shù)才釋放,若沒有達(dá)到設(shè)置的線程數(shù)會(huì)一直死等。如果大于0,那么如果超過Timeout inmilliseconds中設(shè)置的最大等待時(shí)間后還沒達(dá)到設(shè)置的線程數(shù),Timer將不再等待,釋放已到達(dá)的線程。默認(rèn)為0
同步定時(shí)器(Synchronizing Timer)的超時(shí)時(shí)間設(shè)置要求:超時(shí)時(shí)間 > 請(qǐng)求集合數(shù)量 * 1000 / (線程數(shù) / 線程加載時(shí)間)
8、BeanShell Timer BeanShell腳本編寫定時(shí)器(重要-常用)
簡單示例:
BeanShell Timer BeanShell
參數(shù)說明:
Reset Interpreter:每次迭代是否重置解析器,默認(rèn)為false;在長時(shí)間運(yùn)行的腳本中建議設(shè)置為true。
Parameters:BeanShell腳本的入?yún)ⅰH雲(yún)⒖梢允菃蝹€(gè)變量;也可以是數(shù)組,若是字符串?dāng)?shù)組,兩個(gè)元素之間用空格隔開;也可以是常量。
File Name:BeanShell腳本可以從腳本文件中讀取。
Script:在Script區(qū)直接寫B(tài)eanShell腳本。
增加一個(gè)Java Request請(qǐng)求,并且增加時(shí)間驗(yàn)證是否按照自己設(shè)定的定時(shí)運(yùn)行腳本:
Java Request ${__time(yyyy-MM-dd HH:mm:ss:SSS,)}
增加結(jié)果查看樹:結(jié)果顯示按之前設(shè)置的每個(gè)1秒鐘運(yùn)行
9、Precise Throughput Timer 精準(zhǔn)吞吐量定時(shí)器
Precise Throughput Timer 精準(zhǔn)吞吐量定時(shí)器
Target Throught:目標(biāo)吞吐量
Throught Period:表示在多長時(shí)間內(nèi)發(fā)送Target Throught指定的請(qǐng)求數(shù)(以秒為單位)
Test Druation:指定測試運(yùn)行時(shí)間(以秒為單位)
Number of threads in the bath:用來設(shè)置集合點(diǎn),等到指定個(gè)數(shù)的請(qǐng)求后并發(fā)執(zhí)行其它參數(shù)默認(rèn)即可。
總結(jié)
以上是生活随笔為你收集整理的jmeter吞吐量_深入理解Jmeter常用定时器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASR测试方法---字错率(WER)、句
- 下一篇: 这张磁盘有写保护_u盘被写保护怎么解除