初識Gatling
Gatling是一款基于Scala 開發的高性能伺服器性能測試工具,同時也是一款功能強大的負載測試工具,它為易于使用,高可維護性和高性能而設計。開箱即用,Gatling由于對HTTP協定的出色支援,使其成為負載測試任何HTTP伺服器的首選工具。官方位址:https://gatling.io/get-started/。
使用Gatling前首先需要搭建Java的環境,保障已經搭建了Java的環境。下載下傳位址為:https://gatling.io/open-source/,下載下傳成功後,進行解壓,目錄資訊為:
下來進行配置環境,配置後的資訊具體為:
#Gatling
export GATLING_HOME=/Applications/devOps/tools/gatling
export PATH=$PATH:$GATLING_HOME/bin
複制
配置環境變量成功後,在控制台輸入:
recorder.sh
複制
按下Enter鍵,就會顯示Gatling的GUI的界面,具體如下:
Gatling實戰
下面就以官方的案例來示範下Gatling的基本使用,在控制台執行輸入如下指令:
gatling.sh
#輸入如上的指令後,顯示如下的資訊
GATLING_HOME is set to /Applications/devOps/tools/gatling
Choose a simulation number:
[0] computerdatabase.BasicSimulation
[1] computerdatabase.advanced.AdvancedSimulationStep01
[2] computerdatabase.advanced.AdvancedSimulationStep02
[3] computerdatabase.advanced.AdvancedSimulationStep03
[4] computerdatabase.advanced.AdvancedSimulationStep04
[5] computerdatabase.advanced.AdvancedSimulationStep05
#在控制台輸入0,就會顯示輸入的資訊,以及最後顯示測試報告的結果資訊,具體詳細過程如下
0
Select run description (optional)
Simulation computerdatabase.BasicSimulation started...
Generating reports...
================================================================================
---- Global Information --------------------------------------------------------
> request count 13 (OK=13 KO=0 )
> min response time 241 (OK=241 KO=- )
> max response time 1478 (OK=1478 KO=- )
> mean response time 458 (OK=458 KO=- )
> std deviation 339 (OK=339 KO=- )
> response time 50th percentile 301 (OK=301 KO=- )
> response time 75th percentile 527 (OK=527 KO=- )
> response time 95th percentile 1100 (OK=1100 KO=- )
> response time 99th percentile 1402 (OK=1402 KO=- )
> mean requests/sec 0.448 (OK=0.448 KO=- )
---- Response Time Distribution ------------------------------------------------
> t < 800 ms 11 ( 85%)
> 800 ms < t < 1200 ms 1 ( 8%)
> t > 1200 ms 1 ( 8%)
> failed 0 ( 0%)
================================================================================
Reports generated in 0s.
Please open the following file: /Applications/devOps/tools/gatling/results/basicsimulation-20211101134633997/index.html
複制
打開最後的HT ML的測試報告,會顯示詳細的性能測試結果資料和對應的名額資料,具體如下所示:
下面來測試登入服務的性能,需要編寫具體的測試腳本,具體為:在gatling/user-files/simulations/computerdatabase目錄下,編寫案例代碼,具體代碼是使用Scala語言進行編寫的,源碼如下:
編寫代碼成功後,再次執行gatling.sh,顯示如下:
選擇1,開始執行,如下是執行的結果資訊,具體結果如下:
結合如上的案例,可以看到Gatling測試工具對服務端的負載很高,比較适合在在微服務的架構下驗證服務的隊列機制和高并發下服務的響應機制以及承載能力。感謝您的閱讀,後續會持續介紹該工具對服務端的案例應用。