Jmeter性能測試-jp@gc - Throughput Shaping Timer的使用


本文參考了:https://www.cnblogs.com/yagao/p/12614175.html

 

Throughput Shaping Timer 是用來控制吞吐量的定時器,通過延緩線程運行來整體控制取樣器產生的RPS。

實際使用中:

1. 可以通過設置在不同吞吐量分別持續一段時間,考察系統在不同吞吐量情況下的穩定性

2. 可以通過設置隨着時間持續增加的吞吐量,來探測系統吞吐量的的極限

 

舉個例子:

1. 首先,創建一個線程組,這里我把線程數暫且設置為200,循環勾選為永遠。在文章末尾解釋為什么這樣設置

 

 2. 在線程組內增加一個HTTP請求,這里以百度舉個例子

 

 3. 加入Throughput Shaping Timer 定時器,設置起始終止RPS和持續時間,這里我采用了持續增加的方式。 

 

 4. 加入一個TPS監聽器並執行測試看看效果,如下圖所示: 隨着時間的增加RPS逐步提升,實際的TPS也隨之線性增長,說明目前還沒有到服務器的極限

 

注意:

 End RPS 設置了RPS 上限,但要達到此值是需要線程(虛擬用戶〉來執行的,所以我們先要預設夠多的線程,不然RPS目標沒法達到,JMeter 線程組在運行過程中是不會自動增加線程數的,只能一次性設置。下面有個計算線程數的公式。

比如一個請求響應時間為2秒,END RPS 為30,那么線程數:2*30=60  即:響應時間*RPS=所需線程數)。即大約要60個線程, 考慮到運行時諸多影響因素(線程數增加后響應時間增加了), 我們還需要預備更多的線程,也許我們加到70個線程才能滿足要求,這只是一個估算值。不用擔心線程數太多時RPS 會超End RPS, 此元件會自動延遲線程的運行來穩定RPS。

另外,線程組設置的循環是永遠,但是因為有定時器的存在,腳本並不會停不下來,而是在定時器的時間結束后,腳本就會停止運行。

 


免責聲明!

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



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