由於臨時接到一個性能測試任務,測試8個獨立接口在實驗室環境的TPS、響應時間以及服務器性能監控如CPU、內存、IO等,沒有明確具體的響應時間與並發數,需求較模糊。
1.軟件、硬件環境信息:JMeter5.1.1 、Ubuntu 16.04 LTS 260G+內存 2個CPU(24核 )、被測系統架構API+NGINX+FLASK+深度學習模型
2.性能需求:每個功能的TPS(筆/秒),響應時間(秒),不同並發數下服務器資源占用情況(IO,gpu,帶寬等)
3.測試設計:XX線程數/秒 並發時間15分鍾,記錄系統的TPS 、90%響應時間、異常率, 並發十分鍾后開始監測服務器性能指標數據
4.根據測試設計創建JMeter測試腳本(怎么添加線程組、斷言、參數化請自行百度,本次僅涉及文件上傳操作會有樣例),運行十分鍾后對服務器進行監測
(1)、創建測試計划與設置線程組
(2)、創建測試http請求並設置請求參數
(3)、對文件上傳操作進行參數化,創建BeanShell預處理程序(主要用於隨機上傳圖片)
(4)、設置文件上傳請求參數,並添加響應斷言與聚合報告,啟動線程組(已經調試通過的接口測試)
(5)、聚合報告分析
樣本:15分鍾共發起多少個請求數
平均值到最大值:不同維度的請求響應時間,單位毫秒
異常%:異常數占樣本數的百分比
吞吐量:每秒完成的請求數
接收 KB/sec:每秒從服務器端接收到的數據量,即:收到的千字節每秒的吞吐量測試
發送 KB/sec:每秒從客戶端發送的請求的數量,即:發送的千字節每秒的吞吐量測試
(6)、常用服務器監測命令