Jmeter之常用定時器(二)

統一隨機定時器(Uniform Random Timer)

統一隨機定時器和高斯隨機定時器的作用差異不大,區別在於延時時間在指定範圍內且每個時間的取值概率相同,每個時間間

隔都有相同的概率發生,總的延遲時間就是隨機值和偏移值之和。該定時器可以在請求之間設置一個隨機延時,每個隨機延時

有相同的發生概率。總的延時 = 隨機延時時間 + 固定延遲偏移

下面表示的是隨機延遲時間的最大值是2000毫秒:

         Random Delay Maximum(in milliseconds):    隨機延遲時間,延遲的最大毫秒數

         Constant Delay Offset(in milliseconds):  固定延遲偏移,暫停的毫秒數減去隨機延遲的毫秒數

如圖:在的定時器的作用域內的每個取樣器之間隨機停頓 0 - 2s + 1.5s,無順序影響(若線程組設置循環多次次, 生效規則一樣)


常數吞吐量定時器(Constant Throughput Timer)

可以讓JMeter以指定數字的吞吐量(即指定TPS, 只是這裏要求指定每分鐘的執行數, 而不是每秒)執行

吞吐量的計算範圍可以爲指定爲當前線程、所有活動的線程、當前線程組中所有活動線程等範圍,並且計算吞吐量的依據

可以是最近一次線程的執行時延特定的場景下,這種定時器在還是很有用的

如圖,實現了測試需求:測試20個用戶訪問網站在負載達到30QPS時的平均響應時間

目標吞吐量(Target throughput):注意這裏是每分鐘發送的請求數, 因此, 對應測試需求中所要求的20QPS, 這裏的值應該是1200 

基於計算的吞吐量(Calculate Throughput based on), 有5個選項,分別是:

只有此線程(This thread only)

控制每個線程的吞吐量,選擇這種模式時,總的吞吐量爲設置的 target Throughput 乘以線程的數量

所有活動的線程(All active threads

設置的target Throughput 將分配在每個活躍線程上,每個活躍線程在上一次運行結束後等待合理的時間後再次運行。活躍線程指同一時刻同時運行的線程

當前線程組中所有活動線程(All active threads in current thread group)

設置的目標吞吐量將分配在當前線程組的每一個活躍線程上,當測試計劃中只有一個線程組時,該選項和所有活動的線程選項的效果完全相同

所有活動線程 : 共享(All active threads (shared))

與所有活動的線程選項基本相同,唯一的區別是,每個活躍線程都會在所有活躍線程上一次運行結束後等待合理的時間後再次運行

當前線程組中所有活動線程: 共享(All cative threads in current thread group(shared))

與當前線程組中所有活動線程基本相同,唯一的區別是,每個活躍線程都會在所有活躍線程的上一次運行結束後等待合理的時間後再次運行

設置定時器的目標吞吐量爲1200/分鐘(20 QPS),設置基於計算的吞吐量的值爲所有活動的線程

注:當然,常數吞吐量定時器只有在線程組中的線程產生足夠多的請求的情況下才有意義,因此,即使設置了常數吞吐量定時器的值,也可能由於線程組中的線程數量不夠,或是定時器設置不合理等原因導致總體的QPS不能達到預期目標


泊松隨機定時器(Poisson Random Timer)

作用:這個定時器在每個線程請求之前按隨機的時間停頓,總的延遲就是泊松分佈值和偏移值之和

上面表示暫停時間會分佈在100到400毫秒之間:

        Lambda(in milliseconds):  蘭布達值

        Constant Delay Offset(in milliseconds):   固定延遲偏移, 暫停的毫秒數減去隨機延遲的毫秒數

什麼是泊松隨機數:  傳送門

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章