搬運工系列 JMeter(五)集合點

2022-06-14 23:43:40 字數 1735 閱讀 1597

集合點:(高併發測試)

簡單來理解一下,雖然我們的「效能測試」理解為「多使用者併發測試」,但真正的併發是不存在的,為了更真實的實現併發這感念,我們可以在需要壓力的地方設定集合點,每到輸入使用者名稱和密碼登入時,所有的虛擬使用者都相互之間等一等,然後,一起訪問。

注意

1.jmeter裡面的集合點通過新增定時器來完成。

2.synchronizing timer僅作用於同乙個jvm中的執行緒。

集合點

1) 啟動路徑 

2)用法

3)如果希望定時器僅應用於其中乙個sampler,則把該定時器作為子節點加入,如下圖

定時器僅僅對http請求1起作用,即僅在http請求1執行前執行定時器,和http請求2無關。

3)如果你希望synchronizing timer應用於多個sampler.

如下,執行http請求1和http請求2前都會執行同步定時器1、2。當執行乙個sampler之前時,和sampler處於相同作用域的定時器都會被執行;

注意點:

-----集合點的位置一定要在sample(取樣器)之前才能生效嗎???」

在jmeter中,timer是在sampler之前執行的。不管這個定時器的位置放在sampler之後,還是之前。當然,如果有多個timer的時候,在相同作用域下,會按上下順序執行timer,這個就需要慎重放置timer的順序;不過,為了更好的可讀性,還是建議將timer放在對應的sampler前面 或 子節點中;

5) 進行必要設定後,執行檢視效果,通過結果樹可以看到,請求是批量執行的。

可以觀察開始執行的指令碼,觀察請求的增加數量趨勢;或對比請求的傳送時間.

補充:   synchronizing timer 僅作用於同乙個jvm中的執行緒。

試想:a.如果分布式測試時,synchronizing timer作用於所有jvm,那麼jvm之間或者說監控jvm工作的部件就需要頻繁通訊,確定執行緒的數量及狀態等,然後集結了足夠的執行緒後,又要傳送訊號讓jmeter來傳送測試請求,中間存在延時,這樣就無法模擬更真實的高併發了,而且這個東西還會消耗測試機器的一部分效能,會給測試結果帶來負面影響;所以暫時是只支援控制單個jvm,如果後面有辦法解決上面那些問題後,就可以實現控制多個jvm,控制總併發量;

b.如果分布式測試,並使用了synchronizing timer,且設定的值是小於單個jvm的執行緒數量;但是,較難確保所有jvm都在同一時間點集結了同樣數量的執行緒數,這樣就很難下測試結論了,因為都不知道是多少併發下的效能表現;當然了,可以將執行緒的啟用時間拉長,並將超時時間延長,這樣就很可能會與同一時刻集結到足夠的執行緒,達到超高併發的測試;所以,分布式測試與synchronizing timer一般不是同時使用的;如果非要用,則需要慎重設定相關引數

Jmeter效能測試基礎(五) 集合點

1 作用 集合點用以同步虛擬使用者,以便恰好在同一時刻執行任務 例如需求 測試50個使用者同時登入查詢報表1的資訊 2 配置過程 1 英文模式 2 中文模式 3 timeout in milliseconds 超時時間 毫秒 1 設定為0,無限等待,直到達到集合點設定的執行緒數。2 設定指定時長,如...

五 集合點 斷言 關聯

一 集合點 集合點 即新增同步定時器,目的是讓各個執行緒 使用者 步調一致,對系統進行加壓 步驟 執行緒組 定時器 synchronize timer 注意 定時器對哪個請求進行集合點設定,就放在哪個請求的下面,定時器會預設先進行集合,再一併發請求!模擬使用者組的數量,不大於執行緒組包含的使用者數 ...

JMeter學習(六)集合點

jmeter也有像lr中的集合點,本篇就來介紹下jmeter的集合點如何去實現。jmeter裡面的集合點通過新增定時器來完成。注意 集合點的位置一定要在sample之前.集合點 簡單來理解一下,雖然我們的 效能測試 理解為 多使用者併發測試 但真正的併發是不存在的,為了更真實的實現併發這感念,我們可...