**
最近專案中遇見了這麼乙個場景:
100個併發,20個人登入,80個人瀏覽。
這實際上就是乙個比例控制的問題。
在網上瀏覽了一些資料,大概有這麼幾種方式,這裡做乙個歸納。
1.利用counter函式。
乙個執行緒就理解成乙個使用者。
2個使用者,每個使用者迭代3次。
一共迭代6次
1.$:只統計該使用者的迭代次數,
2.$:統計所有使用者的迭代次數
如要求比例為2:8。
1,2,3,4,5,6,7,8,9,10。
這10個數中,能被5整除的有5,10;不能被5整除的有餘下8個。所以比例為2:8。
寫成數學式:
比例為20%,則katex parse error: expected group after '_' at position 2: %5 !=0
若比例為3:7,
$%2 =1,則有1,3,5,7,9
$%4 =0,則有4,8
katex parse error: expected group after '_' at position 2: %4 =0的集合則為:1,3,4,5,7,8,9
katex parse error: expected group after '_' at position 2: %4=2的集合則有2,6,10
則結果為3:7.
說到底是乙個數學問題。
這裡以2:8為例。
katex parse error: expected group after '_' at position 2: %2==1
方法二:
有些童鞋若覺得通過數學的方法計算比例的方法比較繞,那麼可以採用以下的方法。
思路:取1-10的隨機數randno,
若randno<=2,執行請求a;randno>2,執行請求b;
這樣a:b=2:8
若randno<=3,執行請求a;randno>3,執行請求b;
這樣a:b=3:7
這樣可以隨心所欲的控制比例。
先在前置處理器中生成隨機數,用於if控制器中作為條件,進行判斷;
但是這種方法每次都要生成隨機數,該請求也會對伺服器造成一定的壓力。
方法三:
思路和方法二一樣,只有一點小區別;
是用的配置元件中random variable來生成隨機數,取代了方法二中在beanshell中生成隨機數。
這樣就不用增加乙個請求,用於生成隨機數了,個人認為方法三是優於方法二的。
方法四:
利用switch controller來實現;
比例2:8,則0,0,1,1,1,1,1,1,1,1
switch的值等於0,執行請求2,switch的值為1執行請求8;
這種方法和方法二一樣,需要先生成乙個值作為引數傳入;
優先考慮方法一和方法三,方法
二、方法四了解下就可以了,拓展下思路~
jmeter併發時比例控制的四種方法
最近專案中遇見了這麼乙個場景 100個併發,20個人登入,80個人瀏覽。這實際上就是乙個比例控制的問題。在網上瀏覽了一些資料,大概有這麼幾種方式,這裡做乙個歸納。1.利用counter函式。乙個執行緒就理解成乙個使用者。2個使用者,每個使用者迭代3次。一共迭代6次 1.只統計該使用者的迭代次數,2....
Jmeter中的邏輯控制器(四)
執行緒組 右鍵 新增 邏輯控制器 沒有特殊功能,目的是形成一種結果,可以讓我們組織裡面的取樣器和其它的邏輯控制器不一樣,它沒有任何功能性,只是用於儲存取樣器。即把取樣器放在該取樣器下級。提供乙個塊的結構和控制。更方便,更清晰 迴圈次數可以引用變數 在once only controller下的執行緒...
jmeter併發設定的原理
目錄簡介 效能測試過程中是否需要進行同步定時器的設定,需要根據實際情況來考慮。舉個栗子來講是我們的雙十一秒殺活動,這時候就必須實現請求數量達到一定數量後同時向伺服器進行傳送實現絕對併發,這時候就需要我們進行設定同步定時器。在正常的使用場景下一般是單位時間內滿足達到業務量即可,只需要設定執行緒組的ra...