jmeter 同步定時器多情況解析

2021-10-19 04:07:36 字數 3041 閱讀 9929

有什麼問題,歡迎指正或探索討論

一、不設定迴圈次數,同步定時器觸發時間集合的情況

1、 配置執行緒組資料

2、設定同步定時器

3、檢視執行結果(第一條樣本可以忽略,用於獲取token的)

首先我們看同步定時器的設定,設定的是達到5個執行緒就進行一次釋放或者10秒鐘就進行一次釋放。兩條件觸發了任一種都會進行釋放

再看下ramp-up period(in seconds)的設定,執行緒與執行緒之間的時間間隔是5秒鐘(詳細的解釋可以看→ramp-up的用法)

因為第1條執行緒至第3條執行緒啟動的時間,2*5=10秒鐘,觸發了同步定時器設定的10秒鐘釋放一次,所以3條執行緒就釋放了

因為同步定時器是將執行緒集合起來,再一起釋放,所以3條執行緒的啟動時間是一樣的

因為3個執行緒釋放一次,每個執行緒之前會等待ramp-up period設定的5秒,所以是5*3=15秒

因為執行緒之間的間隔為5秒,同步定時器設定的觸發時間為10秒。最後只有一條執行緒了,達不到5個執行緒的條件只能等待觸發時間為10秒,所以是10+5=15秒

二、不設定迴圈次數,同步定時器觸發執行緒數集合的情況

1、 配置執行緒組資料

2、設定同步定時器

3、檢視執行結果(第一條樣本可以忽略,用於獲取token的)

首先我們看同步定時器的設定,設定的是達到3個執行緒就進行一次釋放或者60秒鐘就進行一次釋放。兩條件觸發了任一種都會進行釋放

再看下ramp-up period(in seconds)的設定,執行緒與執行緒之間的時間間隔是5秒鐘(詳細的解釋可以看→ramp-up的用法)

因為設定的觸發同步定時器時間為60秒鐘釋放一次,3條執行緒的時間是10秒鐘,所以先觸發3條執行緒的條件進行釋放

因為3個執行緒釋放一次,每個執行緒之前會等待ramp-up period設定的5秒,所以是5*3=15秒

因為執行緒之間的間隔為5秒,同步定時器設定的觸發時間為60秒。最後只有一條執行緒了,達不到3個執行緒的條件只能等待觸發時間為60秒,所以是60+5=65秒

三、設定迴圈次數,同步定時器觸發執行緒數集合的情況

1、 配置執行緒組資料

2、設定同步定時器

3、檢視執行結果(第一條樣本可以忽略,用於獲取token的)

首先我們看同步定時器的設定,設定的是達到3個執行緒就進行一次釋放或者60秒鐘就進行一次釋放。兩條件觸發了任一種都會進行釋放

再看下ramp-up period(in seconds)的設定,執行緒與執行緒之間的時間間隔是5秒鐘(詳細的解釋可以看→ramp-up的用法)

設定的觸發同步定時器時間為60秒鐘釋放一次,3條執行緒的時間是10秒鐘,所以先觸發3條執行緒的條件進行釋放

迴圈次數為10次,已經啟動的執行緒會連續迴圈10次,且3個執行緒同步執行。檢視結果圖就可以看到非常有規律的3條執行緒一塊執行,且迴圈了10次

因為下個釋放點是15秒鐘後,所以迴圈10次時沒有之後的執行緒打亂規則。如果迴圈時有其他執行緒啟動,則3條執行緒釋放時就不是固定123這3條了

因為同步定時器設定3條就釋放一次,並沒有觸發到時間

因為3個執行緒釋放一次,每個執行緒之前會等待ramp-up period設定的5秒,所以是5*3=15秒

因為執行緒之間的間隔為5秒,同步定時器設定的觸發時間為60秒。最後只有一條執行緒了,達不到3個執行緒的條件只能等待觸發時間為60秒,所以是60+5=65秒

執行緒已經啟動,不需要再等待5秒。同步定時器設定的觸發時間為60秒,最後只有一條執行緒了,達不到3個執行緒的條件只能等待觸發時間為60秒

四、設定迴圈次數,同步定時器觸發時間集合的情況

1、 配置執行緒組資料

2、設定同步定時器

3、檢視執行結果(第一條樣本可以忽略,用於獲取token的)

首先我們看同步定時器的設定,設定的是達到10個執行緒就進行一次釋放或者10秒鐘就進行一次釋放。兩條件觸發了任一種都會進行釋放

再看下ramp-up period(in seconds)的設定,執行緒與執行緒之間的時間間隔是5秒鐘(詳細的解釋可以看→ramp-up的用法)

設定的觸發同步定時器時間為10秒鐘釋放一次,10條執行緒的時間是50秒鐘,所以先觸發10秒鐘的條件進行釋放,去掉第一條執行緒的5秒鐘準備時間,3條執行緒啟動剛好是10秒鐘

設定的觸發同步定時器時間為10秒鐘釋放一次,45兩條執行緒啟動時間為10秒,加上上次釋放過的123執行緒迴圈1次,這次的釋放一共是5條執行緒

設定的觸發同步定時器時間為10秒鐘釋放一次,最後只有一條執行緒,湊不齊10條,啟動時間為10秒,加上上次釋放過的89執行緒迴圈1次,這次的釋放一共是3條執行緒

設定的觸發同步定時器時間為10秒鐘釋放一次,最後只有一條執行緒迴圈,湊不齊10條,啟動時間為10秒,沒有之前釋放過要迴圈的執行緒了,這次的釋放一共是1條執行緒

因為同步定時器設定的是10秒鐘釋放一次,所以不論之前執行緒是否已經啟動都得等待10秒鐘才會釋放

C 定時器同步

在寫應用程式中經常需要使用到時間間隔迴圈,這時,我們經常會考慮使用定時器。c 為我們提供了多種定時器的解決方法,有timer控制項,thread.timer.以及timers.timer 這裡只做了timer控制項和timers.timer的對比。前者使用方便操作靈活,在事件響應函式中可以對其他控制...

07 效能測試之JMeter定時器

定時器作用域 介紹兩種定時器 jmeter提供了很多有用的元件,幫助我們構造各種場景的效能測試。本節,我們來看看定時器 timer jmeter提供了多種定時器,如下圖所示 我們這裡學習兩個定時器 1 固定定時器 每個請求傳送之前需要等待多少毫秒,這裡我們選擇等待3000ms就是3秒鐘。2 同步定時...

jmeter常用定時器以及事物控制器

定時器 併發 synchronizing timer 事物控制器 勾選generate parent sample 當單看主要資料和頁面資料效能測試結果還是有比較大的差異的,因而在進行頁面效能測試的時候,事務控制器是必不可少的利器,頁面效能測試結果也會更加的準確。另外,在api效能測試時,也經常用到...