jmeter并發(fā)測試

Ramp-up Period(in seconds)說明

【1】決定多長時間啟動所有線程。若設(shè)置線程的數(shù)量為10,Ramp-up Period設(shè)置為100秒,那么Jmeter用100秒啟動完10個線程并運行。
Ramp-up需要設(shè)置一個相對合理的時間,若設(shè)置的太短,則有可能會導(dǎo)致服務(wù)器過載,造成一個不說因為平均訪問率過高的初始峰值。
Ramp-up若設(shè)置太長,則會降低服務(wù)器的負(fù)載,即有可能一些線程未啟動完成,初始啟動的線程已經(jīng)結(jié)束運行。
【2】決定建立一個線程所需要的時間。默認(rèn)值為0,即代表啟動測試的那一刻建立所有的線程并執(zhí)行,若線程數(shù)設(shè)置為N,Ramp-up設(shè)置為T,則表示每隔T/N秒建立一個線程。

調(diào)度器說明

【1】選中調(diào)度器則必須勾選“永遠(yuǎn)”,設(shè)置啟動時間和結(jié)束時間,測試啟動后判斷是否達(dá)到設(shè)置的啟動時間,沒有到達(dá)則等待直達(dá)到達(dá)后執(zhí)行測試,每個循環(huán)周期結(jié)束后判斷是否到達(dá)結(jié)束時間,若到達(dá)則停止執(zhí)行,若沒有到達(dá)則繼續(xù)執(zhí)行,直到到達(dá)結(jié)束時間停止執(zhí)行。
【2】設(shè)置啟動延遲則會覆蓋啟動時間,設(shè)置持續(xù)時間則會覆蓋結(jié)束時間。

如何設(shè)置一個合理的Ramp-up Second時間

能否確定一個準(zhǔn)確的Ramp-up Second需要遵守以下兩個原則:
1)取樣器的點擊率是否接近取樣器的平均點擊率,從而避免Ramp-up Second太小。(平均點擊率可以通過建立幾個測試線程跑后得出)
2)最后一個線程啟動的時候,第一個線程是否已經(jīng)結(jié)束,二者的時間盡可能的長,從而避免Ramp-up Second太大。(通過日志查看第一個線程的執(zhí)行情況)

具體案例計算說明:
線程數(shù):n
Ramp-up Second:T
循環(huán)次數(shù): a (延長線程運行時間)
平均點擊率(一個線程循環(huán)一次的時間): t
每個線程的運行時間: R = at
(為了確保最后一個線程啟動的時候,第一個線程還在運行,即 R>S,a>S/t)
最后一個線程啟動的時間: S = (T-T/N)


image.png

average.png

根據(jù)圖片設(shè)置的參數(shù)計算各個取值:
n = 10
T = 20
t = 0.1s
S = 18s
a = 200 (18/0.1=180)
R = 2s
從下邊的日志可以看到第一個線程運行了20s,即最后一個線程啟動的時候第一個線程仍在運行。

log.png

Synchronizing Timer(同步定時器)-集合點的使用

1、作用域
a.定時器在每個Sample之前執(zhí)行,而不是之后,無論定時器放在Sample之前還是之后。
b.當(dāng)執(zhí)行一個Sample的時候,所有當(dāng)前作用域內(nèi)的定時器都被執(zhí)行。
2.作用
類似于集合點的概念,阻塞線程,直到達(dá)到設(shè)置的線程數(shù)后一起釋放。
a.Number of Simulated Users to Group by:模擬用戶的數(shù)量,即指定同時釋放的線程數(shù)數(shù)量
b.Timeout in milliseconds:超時時間,即超時多少毫秒后同時釋放指定的線程數(shù)
設(shè)置沒秒集合5個然后釋放

image.png

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容