效能場景設計

excellent_1發表於2021-03-01

一、常用的執行緒組

執行緒數:併發使用者數

ramp-up:啟動時間(執行緒數的準備時間),在這個時間點結束時,所有使用者都準備好

迴圈次數:填寫具體的數值---->每個執行緒組,執行多少遍;

      勾選永遠---->一直執行,一般和“排程器”一起使用

排程器:持續時間,一直執行,持續執行多少秒

 

二、安裝外掛

安裝外掛:jmeter plugins manager

怎麼看有沒有安裝成功呢?在jmeter中,開啟選項,找到最下面的

 當你點進去後,可以進行更新

install plugins:已經安裝的外掛、available plugins:可以安裝的外掛、upgrades:可以升級的外掛

勾選這個,右下角申請安裝(Apply Changes and Restart JMeter)一下即可;安裝下載重啟(jmeter會自動重啟,不需要我們手動去關閉再重啟)

重啟之後,可以看到執行緒組有這些東西可以用的,監聽器也增加了一些

 

三、負載測試

負載測試:逐步增加使用者併發數,有兩種場景;階梯場景和波浪式場景

3.1  階梯場景

測試計劃-->新增-->執行緒-->Stepping Thread Group

那麼,我們怎麼來看這張圖呢?

 

This group will start:最大執行緒數100個

First,wait for:初始化等待時間0秒

Then start:初始化執行緒數0個

初始化後,每次增加10個執行緒,花費5秒,增加後持續執行30秒

Next,add:每次增加10個執行緒

Threads every:持續執行30秒

Using ramp-up:花費5秒

Then hold load for:達到最大執行緒數後,執行60秒

執行60秒後,每次減少5個執行緒,花費1秒

Finally,stop:每次減少5個執行緒

Threads every:花費1秒

通過新增監聽器來跑一例子看看結果圖並分析

Transactions per Second:TPS每秒請求事物數

Response Times Over Time:隨著時間變化的響應時間

Active Threads Over Time:活躍的執行緒數

現在通過設定這樣的資料,來看看監聽器返回的結果是哪些?先看響應圖如下:

說明在60秒的時候,響應時間達到了1.5秒;那麼此時去活躍的執行緒圖中找資訊

再去看看tps的數值,也可以看出個大概是多少

Tips:為什麼要1.5秒,因為在我們測試行業,1.5秒是使用者所能接受的最慢的時間,相當於一根標尺一樣

500ms滿意、1500ms可以接受、 超過1500ms無法接受   ,這是針對介面的響應時間此種情況

3.2波浪式場景

測試計劃-->新增-->執行緒-->Ultimate Thread Group

Start Threads Count:最大啟動執行緒數100個
Initial Delay,sec:初始化等待0秒
Start up Time,sec:增加到最大執行緒數,花費30秒
Hold Load For,sec:保持最大執行緒數,執行60秒
Shutdown Time:減少到0個執行緒,花費10秒

適用場景:訂餐系統,用餐時間點時,系統訪問量很大,用餐時間為波浪的波峰

拿一個例子來跑一下,看看結果並分析:

響應時間圖:

活躍執行緒圖:

所能承受的最大數值是20,說明拐點大概就是20

Tps圖:

 不管是哪種型別的結果分析,幾乎是同樣的分析方法:

分析的方法總結:第一步,先去響應時間圖中,找出1.5秒對應的縱座標執行時間

                             第二步,再去活躍執行緒圖中找出縱座標執行時間對應的橫座標,就差不多可以確定拐點區間是多少

         第三步,去tps圖上找出大概的tps數值是多少,取中間平均出現的大概的數值

效能場景的設計原則:緩起步,快結束     

一個完整的指令碼  包括執行緒組,取樣器,監聽器

相關文章