jmeter梯度加壓請求數


在壓力測試時,可能需要使用jmeter的梯度加壓。而在使用梯度加壓時,大部分tester會對這一點疑惑:設置的總線程是100,但聚合報告中線程數遠超100個 ,為什么梯度加壓會有這樣的現象?用事實說話,本文用示例去解釋這一點。

環境:

先設置梯度加壓的場景,訪問某網站,具體如下:

 

 

從這個梯度加壓設置的參數,我們可以看出設置的總線程數為50個,每2s增加5個,在1s內增加完成;然后線程保持30s;再然后,每2s停掉5個線程。

要正確理解最終請求數,需要明白每一秒鍾線程釋放了多少請求

 

分析:

在梯度加壓有三個階段:梯度加壓、持續負載、線程釋放。

梯度加壓:

如果該請求的平均響應時間是100ms,那么1s鍾該請求可以迭代10次;

那么在1s內如果啟動了5個線程,這1s內發出的請求數就是5*10=50次

接着運行2s后才開始加載下一波線程,在這2s內,它發出的請求數是2*5*10=100次

在2s之后,線程組又在1s內釋放5個請求,並運行2s,在這2s內,它發出的請求數是2*10*10=200次(此時是10個線程在運行)

以此類推,直到50個線程加載完之前,線程釋放的請求數是這樣的:(2*5*10)+(2*10*10)+(2*15*10)+(2*20*10)+(2*25*10)+....+(2*45*10)=4500次

持續負載:

(注意:為什么最后不是2*50*10呢?因為從50個線程加載完之后,進行的就是30s的持續負載)

這30s內,總的請求數是30*50*10=15000次

線程釋放:

(30s負載結束后,線程開始梯度釋放)

此時即使線程在釋放,剩余的線程依然在發起請求,請求數:(2*45*10)+(2*40*10)+(2*35*10)+(2*30*10)+(2*25*10)+....+(2*5*10)=4500次

 

所以,總的請求數=4500+15000+4500=24000次

(實際測試中情況並非如此,因為隨着負載增加,響應時間增大,每秒迭代次數減小,最終請求數也會減小。本文只是介紹思路。)

本文借鑒別人的文章。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM