這是一個出單接口壓力測試的小例子,了解一下壓力測試最最基礎的基礎。出單接口是用來保險出單的,不需要在UI界面下一步下一步的出單,接口一調數據入庫完事~~~。再啰嗦一句接口應該都知道是什么吧?一個完整的系統可以大概分為3個部分:前端,后台,數據庫。前端傳數據給后台,后台將數據入庫並將數據庫返回數據傳給前端做頁面展示。接口就在后台部分。接口接收前端的參數即請求報文,響應報文為返回數據和提示信息。
測試步驟:
(1) lib/ext下添加插件JMeterPlugins-Extras.jar和JMeterPlugins-Standard.jar
(2) 測試計划添加線程(用戶)jp@gc - stepping thread group
(3) 添加http請求
(4) 添加聚合報告
(5) 添加查看結果樹
(6) 添加CSV數據文件設置
JMeter 3.1 地址:https://pan.baidu.com/s/1wPgbwS1dzWdsleS11wJ-Dw 提取碼:oe5t
JMeterPlugins-Extras.jar 地址:https://pan.baidu.com/s/1H2tBWGV2FClyFnKWUP2_IA 提取碼:9sh6
JMeterPlugins-Standard.jar 地址:https://pan.baidu.com/s/1vPVXty2ZyiAr68v1wWss0w 提取碼:q95o
ServerAgent-2.2.3 地址:https://pan.baidu.com/s/1WnQFFsw7DMF6lYN87s-Eng 提取碼:4wry
-
案例:
l 測試目的
200並發下:
- 出單接口響應時間1s內
- 出單成功率100%
l 執行方案
- 測試工具:Jmeter
- 執行時間:工作日白天(a.白天應急能力強 b.獲取保險公司真實的壓測數據)
- 場景:從100並發開始,每60s加壓50並發,直至達到目的並發數(中途發現問題隨時停掉)並維持5min,之后保持每60s停止50並發的速率關閉
- 結果:tps、響應時間、並發數的關系圖表(硬件占用數據無法監控,需保險公司關注)
-
操作步驟
1、安裝插件
將JMeterPlugins-Extras-1.4.0.zip解壓,找到lib/ext文件夾里的JMeterPlugins-Extras.jar放到JMeter安裝目錄的lib/ext里面,
同理將JMeterPlugins-Standard-1.4.0.zip解壓,lib/ext下的JMeterPlugins-Standard.jar放到JMeter安裝目錄的lib/ext里面即可。如下圖

插件安裝好之后運行JMeter,可以看到插件已經安裝好了

2、使用jp@gc - Stepping Thread Group插件
右鍵測試計划->添加->Threads(Users)->jp@gc - Stepping Thread Group

控制面板介紹

l This group will start Max threads - 設置單台負載機,線程組啟動的線程總數為Max個
l First,wait for N seconds - 啟動第一個線程之前,需要等待N秒
l Then start N threads - 設置最開始時啟動N個線程
l Next add N1 threads every N2 seconds, using ramp-up N3 seconds - 然后,每隔N2秒,在N3秒內啟動N1個線程
l Then hold load for N seconds - 單台負載機啟動的線程總數達到Max之后,持續運行N秒
l Finally,stop N1 threads ervery N2 seconds - 最后,每隔N2秒,停止N1個線程數。
最高200並發,100並發開始,0s內立即啟動50個線程運行60s,達到最高並發后維持300s,之后保持每60s停止50並發的速率關閉。
設置好之后,添加剛才的出單請求,查看結果數,聚合報告,點擊綠色三角號運行就可以了,最重要就是聚合報告。下圖表示壓測過程中,一共發送了526個請求,所有請求的平均響應時間為2.001s,95%的請求的響應時間為2.877s,99%的請求的響應時間為3.457s,錯誤率為0,吞吐量為3.6/sec

壓測小例子完畢。這里壓測響應時間為2.001s沒有達到壓測目標1s內。如果在實際壓測過程中還產生了其他問題以及都有什么解決辦法,歡迎大家留言討論!!!
