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
按下回车键,就会显示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测试工具对服务端的负载很高,比较适合在在微服务的架构下验证服务的队列机制和高并发下服务的响应机制以及承载能力。感谢您的阅读,后续会持续介绍该工具对服务端的案例应用。
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!