在JMeter測試計劃中如何控制業務比例

來源:互聯網
上載者:User

標籤:

效能測試混合情境中,我們需要組合多個業務操作到情境中來。
比如有一個論壇的業務分布如下:
開新帖與回複文章的比例為2:3,
那麼我們在JMeter測試計劃中如何控制其比例呢?

下面我們介紹兩種方式:


1.多線程組方式

2.邏輯控制器控制

 

多線程組方式:

我們知道JMeter是用線程組來類比虛擬使用者的,JMeter還可以支援一個計劃中多個線程組。


利用這個特性我們可以把開新帖業務放在一個線程組中,回帖業務放在另外一個線程組中。


為了製造出業務量的比例關係,我們通過控制線程數來達到效果。如:


ReplayTopic為回帖線程組,添加90個線程;
SendTopic為開新帖線程組,添加60個線程,剛好是3:2

當然,這隻能是近似的,如果這兩個事務的回應時間不一樣,最終完成的業務數比例也會不一樣。


當前線程數是在假定兩個業務的回應時間一樣的情況下,所以這完全是理想狀況。


可以看出,這種方式控制並不完美。

 

下面我們用第2種方式:

 

控制器控制

 

是一個IF控制器,IF控制器可以使用運算式來做為條件,這樣我們事以擷取迭代次數來決定


是回帖還是開帖,比如一共3次迭代,第1次與第3次迭代時開新帖,1,2,3次迭代都會進行回帖


接下來我們就要擷取迭代次數,JMeter函數助手提供了一個__counter函數,可以用來擷取當前的
迭代次數。

好,我們思路有了,迭代次數也能擷取到,那如何保持3:2的比例呢?這就是一個數學問題了。


不賣觀子,直接上代碼:
${__counter(true,)}%2==1||${__counter(true,)}%3==0
上面__counter(true,)是擷取當前迭代次數,%是取餘,也就是除2餘1與3整除時執行開新帖。


以9次迭代為例,回帖9次,1,3,5,6,7,9 次迭代時都會開新帖,回剛好是6次


9:6=3:2

基本上保護了3:2的比例。

 

轉載至:http://mp.weixin.qq.com/s?__biz=MjM5Mjg0MzMzMw==&mid=210023366&idx=2&sn=a6868ea94bb2c5794b99cc455ad5ee17&scene=1&srcid=09137Euoiki9ZPFcXyB6zzNY#rd

在JMeter測試計劃中如何控制業務比例

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.