1. 背景
??在實(shí)際生活中大家肯定遇到過一種場(chǎng)景,就是在某一時(shí)間或某一時(shí)刻,某件商品進(jìn)行搶購(gòu),相當(dāng)于秒殺;但是用JMeter進(jìn)行測(cè)試的時(shí)候,如何模擬這種場(chǎng)景?用一種組件就可以實(shí)現(xiàn),定時(shí)器中的“同步定時(shí)器”。
2. 目的
- 了解t同步定時(shí)器的基礎(chǔ)功能;熟悉同步定時(shí)器的使用場(chǎng)景。
- 學(xué)會(huì)使用同步定時(shí)器組件。
3. 介紹
??官網(wǎng)解釋: 同步定時(shí)器的目的是阻塞下稱,直到X個(gè)線程被阻塞,然后立即釋放。因此,同步定時(shí)器可以在各種情況下創(chuàng)建較大的瞬時(shí)負(fù)載。
界面顯示: 如下所示。
屬性 | 描述 | 必填 |
---|---|---|
名稱 | 樹中顯示此計(jì)時(shí)器的描述性名稱 | 否 |
要分組的并發(fā)用戶數(shù) | 一次釋放的線程數(shù),設(shè)置為0等效于將其設(shè)置為線程中的線程數(shù) | 是的 |
超時(shí)時(shí)間(單位是毫秒) | 1、如果設(shè)置成0,計(jì)時(shí)器將等待線程數(shù)達(dá)到“要分組的并發(fā)用戶”中的值。 2、如果大于0,則計(jì)數(shù)器將以最大“超時(shí)時(shí)間(單位是毫秒)”等待線程。 3、如果在超時(shí)時(shí)間間隔后未達(dá)到等待的用戶數(shù),計(jì)時(shí)器將停止等待。 4、默認(rèn)值為0。 |
否 |
注意:
- 如果超時(shí)時(shí)間設(shè)置為0,并且線程數(shù)永遠(yuǎn)不會(huì)達(dá)到“要分組的并發(fā)數(shù)”,則Test將無限停止,只有強(qiáng)制停止才能阻止他。這種情況,將超時(shí)時(shí)間設(shè)置成一個(gè)合理的值是需要考慮的。
- 僅在一個(gè)JVM內(nèi)同步定時(shí)器模塊,因?yàn)槿绻褂梅植际綔y(cè)試,請(qǐng)確保永遠(yuǎn)不會(huì)將“并發(fā)用戶數(shù)”設(shè)置高于用戶數(shù)的值,其包含的線程組只考慮一個(gè)注入器。
4. 例子
??驗(yàn)證同步定時(shí)器,作用,準(zhǔn)備如下測(cè)試場(chǎng)景
4.1單個(gè)請(qǐng)求
序號(hào) | 線程數(shù)(30) | 定時(shí)器等待線程 | 超時(shí)時(shí)間 | 預(yù)期結(jié)果 |
1 | 30 | 30 | 0 | 用戶等待達(dá)到30個(gè)用戶,同時(shí)并發(fā)發(fā)起請(qǐng)求 |
2 | 30 | 20 | 100 | 1、剛好超時(shí)100ms,且用戶等待達(dá)到20個(gè)用戶,同時(shí)并發(fā)發(fā)起請(qǐng)求。 2、等到20個(gè)用戶,未超時(shí),繼續(xù)等到結(jié)束,再并發(fā),這時(shí)用戶數(shù)將大于30。 3、等到小于20個(gè)用戶,又超過超時(shí)時(shí)間,等到的用戶數(shù)可以小于30。 |
3 | 30 | 40 | 0 | 用戶無法達(dá)到40個(gè)用戶,線程會(huì)一直等待,不會(huì)停止。 |
4 | 30 | 0 | 0 | 定時(shí)器設(shè)置的用戶等于線程組的用戶,超時(shí)默認(rèn)設(shè)置為0,用戶同時(shí)并發(fā)。 |
- 序號(hào)是1,設(shè)置如上邊參數(shù),測(cè)試結(jié)果如下所示。
- 序號(hào)是4,設(shè)置如上邊參數(shù),測(cè)試結(jié)果如下所示。
4.2多個(gè)請(qǐng)求
背景: 當(dāng)線程組中有多個(gè)請(qǐng)求,怎么實(shí)現(xiàn)不同請(qǐng)求的不同并發(fā)操作呢?
解決方案: 例如單個(gè)線程組下有兩個(gè)請(qǐng)求,給每個(gè)請(qǐng)求增加同步定時(shí)器,每個(gè)定時(shí)器設(shè)置不同的并發(fā)數(shù)。
重點(diǎn):線程數(shù)的參數(shù) > 定時(shí)器的等待線程數(shù)。文章來源:http://www.zghlxwxcb.cn/news/detail-792838.html
序號(hào) | 線程數(shù)(8) | 定時(shí)器等待線程1 | 定時(shí)器等待線程2 | 超時(shí)時(shí)間 | 預(yù)期結(jié)果 |
1 | 8 | 2 | 4 | 0 | 1、定時(shí)器等待線程1,總請(qǐng)求次數(shù),8次,每次2個(gè)同時(shí)并發(fā)請(qǐng)求。 2、定時(shí)器等待線程2,總請(qǐng)求次數(shù),8次,每次4個(gè)同時(shí)并發(fā)請(qǐng)求。 |
測(cè)試結(jié)果:文章來源地址http://www.zghlxwxcb.cn/news/detail-792838.html
到了這里,關(guān)于JMeter定時(shí)器之同步定時(shí)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!