jmeter之一次添加接口單場景壓測記錄與分析


以jpress新增文章接口為例

 

目錄

1、需求分析

2、場景設計

3、分析結果生成報告

 

1、需求分析

需求人員一般對系統提出性能要求:某接口10秒達到100並發,響應時間不能超過3秒,10分鍾穩定運行100用戶,error%不超過0.01%,cpu占用率不能超過80%

分析:

第一點:啟動時間要求10s啟動100個

第二點:響應時間低於3秒,報錯率低於0.01%

第三點:10分鍾穩定運行100用戶

 

2、場景設計

第一步:調通單接口

 

 

僅一次登錄控制器:一次線程活動中只會運行一次,這樣可以設置多次循環次數實現並發數(線程數*循環次數)的添加

 

 注:這里可以將僅一次登錄控制器換成吞吐量控制器,這樣整個活動下來,不管多少線程,不管循環多少次都只執行一次登錄

 

 

 

 

 

 

 

第二步:設置第一點的需求場景,10秒內啟動總並發數的通過20%、50%、80%、100%,分別得到當時的響應時間、報錯率、tps、cpu占用率指標

如:20%

 

 

配置csv中20條條可添加信息

 

 

禁掉除了斷言以外的所有非必須配置元件, 使用無圖形界面運行方式 執行腳本,由於我這里腳本和參數化文件在我當前執行腳本的路徑,所以我沒有帶路徑,如果執行路徑和腳本不在一個路徑,則需要填寫腳本位置,csv則在腳本中的函數助手中進行修改,確保是一個可讀取的路徑

E:\j>jmeter -n -t login.jmx -l m.jtl

 

執行完,會在指定的路徑生成報告,此報告可用聚合報告打開

 

 

 

 

 

3、分析結果生成報告

 

1、本圖需要關注的點:系統在空閑狀態下執行20並發,處理添加請求響應平均時間為79ms,存在5%的報錯率,tps為12.4/s

2、通常我們是需要拿幾次的執行結果對比tps,查看報錯率情況,分析性能瓶頸等

3、比如說報錯率在某一次中超過了預期,則該值時已經存在性能瓶頸;tps達到某一值時,不升反降,則該值存在性能瓶頸;響應時間的值開始緩慢增加后來劇增,則達到性能瓶頸

4、可以通過nmon或者serveragent等插件觀察服務器的動態cpu、內存、io、磁盤利用率等輔助分析

5、可以通過top命令實時查看服務器性能表現情況

 

優化版:

第一步:jmeter有一個Stepping Thread Group,可以實現階梯式啟動加壓

入口:添加線程組——jp@gc - Stepping Thread Group

 

 設計腳本:

 

 參數介紹:

This group will start 100 threads:設置線程組啟動的線程總數為100個;
First,wait for N seconds:啟動第一個線程之前,需要等待N秒;
Then start N threads:設置最開始時啟動N個線程;
Next,add 10 threads every 30 seconds,using ramp-up 5 seconds:每隔30秒,在5秒內啟動10個線程;
Then hold load for 60 seconds:啟動的線程總數達到最大值之后,再持續運行60秒;
Finally,stop 5 threads every 1 seconds:每秒停止5個線程;

第二步:

裝好nmon(可參考https://www.cnblogs.com/weizhideweilai/p/11368192.html),最后設置參數進行監控服務器性能指標

鏈接:https://pan.baidu.com/s/1j6_H9W5SdnoFrsN2nuRmUQ
提取碼:njku


免責聲明!

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



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