jmeter併發誤區及集合點(同步計時器),吞吐量定時器

性能測試的方法主要包括以下幾種:負載測試(load Testing),壓力測試(Stress Testing),配置測試(Configuration Testing),併發測試(Concurrency Testing),可靠性測試(Reliability Testing),基準測試(Benchmark Testing)

併發測試時通過模擬用戶併發訪問,測試多用戶同時訪問同一應用、模塊或數據,觀察系統是否存在死鎖、系統處理速度是否明顯下降等其他的一些性能問題。

誤區:

1.通過線程組計算併發數,如圖所示,都認爲每秒100併發,
在這裏插入圖片描述
然而查看結果樹中,請求完成的時間並非是嚴格意義上的併發,而是一個接一個的去請求,並且在循環次數勾選永久的情況下,根本不是100的併發,而是jmeter在一秒之內能跑多少跑多少,比如此處設置了一秒100,設置循環永遠的話,測試機器性能高可以一秒跑三千多樣本。
在這裏插入圖片描述
網絡上的公式之一:測試時間=(線程組/ramp時間)*循環次數;
然而在如下圖設置的情況下,,預期是一秒一個,測試時間爲3分鐘,但是運行之後就會發現他就是用幾秒鐘給你跑完就結束了。這裏推測:如果設置ramp-up時間是1秒,代表着一秒內必須啓動,然而如果你的請求只用了0.1秒就完成了,下一個請求會在這個1秒內也啓動
在這裏插入圖片描述

jmeter併發-集合點(同步定時器)

集合點概念:阻塞線程,直到指定的線程數量到達後,再一起釋放,可以瞬間產生很大的壓力。比如在調用一個頁面時,創建的虛擬用戶陸續的過來了,集合點這個作用就是聚集一下虛擬用戶,到達設置好的數量之後,讓他們一起請求。這些虛擬用戶發送的請求是在同時發生的,不是一個接一個的。
在這裏插入圖片描述

集合點用法

在這裏插入圖片描述
Number of simulated users to group by:集合多少人再執行請求(也就是執行的線程數)
注意:等同於設置爲線程數,一定要確保設置的值不大於它所在線程組包含的用戶數

timeout in milliseconds:指定人數 多少秒沒交集合到算超時(設置延遲時間以毫秒爲單位)
注意:如果設置timeout in milliseconds爲0,表示無超時時間,會一直等下去。
線程數量無法達到"Number of Simultaneous Users to Group by"中設置的值,那麼Test將無限等待,除非手動終止。

如果希望定時器僅用於其中一個sampler,則把該定時器作爲子節點加入
定時器僅僅對HTTP請求1起作用,即僅在HTTP請求1執行前執行定時器,與HTTP2請求無關
在這裏插入圖片描述

timer是在請求之前執行的。不管這個定時器的位置放在sampler之後還是之前。當然,如果多個timer的時候,在相同的作用域下會按上下順序執行timer,這個就需要慎重放置timer的順序

進行必要設置後,運行查看結果,通過結果樹可以看到,請求是批量執行的,可以觀察開始執行的腳本,觀察請求的增加數量趨勢,或對比請求的發送時間

吞吐量定時器(待補充)

Constant Throughput Timer常數吞吐量定時器可以讓JMeter以指定數字的吞吐量(即指定TPS,只是這裏要求指定每分鐘的執行數,而不是每秒)執行。吞吐量計算的範圍可以爲指定爲當前線程、當前線程組、所有線程組,並且計算吞吐量的依據可以是最近一次線程的執行時延。

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