顧名思義,jmeter在作性能測試時,能夠在不中止腳本的狀況下修改負載壓力,達到指望的測試效果。咱們將經過Constant Throughput Timer(吞吐量計時器)和Beanshell服務器來組合完成。java
1:在jmeter中添加Constant Throughput Timer。咱們將經過設置「目標吞吐量」值來控制在測試中每分鐘執行的請求數。因爲咱們要經過命令行更新此值,所以必須將其定義爲參數。經過編寫${__P(hits,1200)},默認值將設置爲1200。shell
吞吐量將基於每一個線程進行調整,重要的是要注意調整負載,所以儘可能把運行時間加長一些以注意吞吐量的變化。因此咱們加入了運行時間控制器以延長運行時間。bash
2:使用JMeter Beanshell做爲服務器,以便發出Beanshell命令。咱們經過調用beanshell函數來更新先前定義的「hits」參數。Beanshell是一個內置於JMeter中的Java源代碼解釋器。服務器
在jmeter.properties上取消註釋如下行:函數
重啓jmeter,並在主目錄下打開cmd查看端口運行狀態性能
Netstat -an | find 「9000」測試
在JMeter主目錄下建立文件夾bsh,並添加一個名爲update_parameter.bsh的.bsh文件,其中包含如下內容:spa
setprop("hits",args[0]);命令行
在主目錄下打開cmd命令,執行 dir bash\線程
文件調用setprop函數以經過第一個參數(args [0])中的值更新「hits」
如今可以在測試運行時調用建立的.bsh來更新「hits」。在主目錄下經過如下命令將參數更新爲每分鐘「1200」個請求:
java -jar .\lib\bshclient.jar localhost 9000 .\bsh\update_parameter.bsh 1200
觀察運行中的吞吐量,有明顯的改變
你還在爲找不到可練習的接口而煩惱嗎?如今加入龍淵閣,咱們手把手教你搭建屬於本身的接口測試環境!