JMeter測試工程原生性能壓測
方案概述
應用場景
用戶在使用本地JMeter進行壓測時,為應對不同的壓測需求,需要安裝各種插件。為了方便查看可視化的測試報告,可以在PerfTest中引入JMeter測試工程。PerfTest-JMeter測試工程旨在為用戶提供JMeter原生引擎的支持,用戶可在PerfTest-JMeter測試工程里導入JMeter腳本,使用JMeter原生引擎快速發(fā)起高并發(fā)的性能測試,且可查看完備的性能測試報告。
方案架構(gòu)
PerfTest-JMeter測試工程,通過集成開源Apache-JMeter實現(xiàn)壓力測試,具體工作原理如下:
1、用戶通過PerfTest測試資源,將自己租戶下的CCE節(jié)點,納管到PerfTest服務,作為調(diào)試節(jié)點(一個)和執(zhí)行節(jié)點(至少一個才能發(fā)起任務)使用。納管后,PerfTest服務會創(chuàng)建一個VPC終端節(jié)點,用于上傳測試數(shù)據(jù)到PerfTest服務。PerfTest服務通過CCE拉起常駐的調(diào)試負載,負載拉起一個容器(即PerfTest容器),用于調(diào)試。
說明:首次使用PerfTest測試資源,需要用戶對PerfTest服務進行授權(quán),允許PerfTest服務操作CCE和VPC終端節(jié)點。
2、用戶使用PerfTest-JMeter測試工程時,需要上傳jmx腳本到PerfTest服務。這些腳本會存儲在PerfTest服務的OBS中。PerfTest服務拉起容器后,PerfTest容器會通過OBS下載并執(zhí)行用戶的腳本。
說明:用戶在界面上刪除jmx腳本時,PerfTest服務的OBS中的腳本也會被刪除。
3、用戶執(zhí)行任務時,通過CCE拉起臨時的執(zhí)行負載。負載根據(jù)任務規(guī)模拉起一個或多個PerfTest容器,用于執(zhí)行任務。當采用多個容器執(zhí)行任務時,線程組中的線程數(shù)會平分給每個PerfTest容器。
4、PerfTest服務執(zhí)行任務過程中,PerfTest容器會通過VPC終端節(jié)點將測試的結(jié)果數(shù)據(jù)上傳到PerfTest服務,用于:
統(tǒng)計任務的并發(fā)數(shù)、時延、RPS、帶寬、TP90等性能指標。
顯示執(zhí)行時產(chǎn)生的請求日志、返回日志。
5、任務結(jié)束時,PerfTest容器會被銷毀,只有執(zhí)行記錄會留在用戶的執(zhí)行機中。
說明:PerfTest容器集成了開源Apache-JMeter、PerfTest的控制代碼以及PerfTest的部分JMeter增強能力(如多階段壓力配置、日志輸出等)。
PerfTest-JMeter工程,默認集成Apache-JMeter 5.4引擎(當前版本),可以通過在PerfTest測試資源上傳自定義安裝包,更改為Apache-JMeter 5.3或5.2版本。自定義安裝包是從Apache官網(wǎng)下載的zip包。
如果希望PerfTest-JMeter工程能夠支持部分第三方插件,可以在PerfTest-JMeter工程處以“第三方j(luò)ar”的形式,將第三方插件上傳。這等效于將jar包放置在JMeter根目錄“\lib\ext”下。
操作流程
1、編寫本地JMeter腳本,保存為jmx文件。
2、準備測試資源,創(chuàng)建私有資源組。
3、創(chuàng)建JMeter測試工程。
4、導入本地jmx文件。
5、編輯線程組,可根據(jù)業(yè)務需求設(shè)置線程組的部分參數(shù)。
6、調(diào)試測試任務,通過調(diào)試快速發(fā)現(xiàn)語法或配置錯誤,確保該模型在任務中可用。
7、執(zhí)行測試任務,通過測試獲取并分析系統(tǒng)運行的性能數(shù)據(jù)。
8、查看測試報告,JMeter測試報告提供實時、離線兩種類型的測試報告,供用戶隨時查看和分析測試數(shù)據(jù)。
實施步驟
1對1咨詢專屬顧問
華為云咨詢電話:950808或4000-955-988 轉(zhuǎn)1
華為云咨詢電話:950808或4000-955-988 轉(zhuǎn)1