1、前言
目前在性能测试领域市场jmeter占有率非常高,主要原因是相对比其他性能测试工具使用更简单(开源、易扩展),功能更强大(满足多种协议的接口),但是随着研发协同的升级,平台化的性能测试工具更能高效的基于团队开展协作,比如今天要说的这个开源测试平台RunnerGo。
如果你想学习测试开发,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的测试开发教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386
15天学会性能测试,通俗易懂详细教学,Jmeter性能测试实战(集群压测,全链路压测,性能调优,瓶颈分析)极速掌握,干就完事!_哔哩哔哩_bilibili15天学会性能测试,通俗易懂详细教学,Jmeter性能测试实战(集群压测,全链路压测,性能调优,瓶颈分析)极速掌握,干就完事!共计27条视频,包括:1.【性能测试】什么是性能测试以及性能测试的价值和目的、2.【性能测试】真实企业性能测试指标详解以及指标测算、3.【性能测试】真实企业中性能测试流程以及细节剖析等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1B14y1D7X9/?spm_id_from=333.337.search-card.all.click
2、性能测试工具平台化优势
RunnerGo作为web平台能在线做到接口管理,脚本编辑,场景编辑,报告管理这是jmeter这种工具不具备的。
RunnerGo支持实时查看服务器状态、测试报告、debug日志并且支持发送测试报告到指定邮箱,而jmeter默认不支持性能监控,只能是在GUI模式下,通过扩展监听器插件来实现,并且No-GUI模式下只能生成结果报告。
在使用jmeter时接口管理和性能测试一般是分开去做的,或者用其他Api调试工具去做接口管理(比如Apipost)然后再去jmeter中配置脚本,但其实性能测试应该是基于接口管理的基础上做的,RunnerGo可以直接从接口管理中引用调试好的接口,配置好一条场景,然后在此基础上进行持续性测试,自动化测试,这样在接口测试阶段就可以直接执行性能测试。
3、RunnerGo与jmeter结构分析
jmeter的单机模式在一般的压力机配置下,会受限于jmeter自身的机制和硬件配置,最多可以支持几百至一千左右的模拟请求线程。想部署分布式集群测试会带来非常多的运维管理问题。同时,Master-Slave模式,还会给主节点带来很大的交互压力,部署大规模的分布式集群压测非常难做到。
RunnerGo自带分布式结构轻松支持大规模并发。
对于RunnerGo的真实性能我做了一个小的实验进行对比,结果如下:
一条使用查看新闻的场景:六个接口,使用并发模式,20的并发,执行10分钟。
相同的配置下进行压测
jmeter聚合报告:
RunnerGo直接发送到邮箱的测试报告:
由于计算方式不同这里只对比总请求数,汇总下来:
RunnerGo总请求数:98640个,错误率:0
jmeter总请求数:91219个,错误率:0
综上所述RunnerGo在结构、性能上都优于jmeter,并且顺应互联网工具平台化趋势。平替jmeter确实不是说说而已。
4、RunnerGo的安装
1、如果测试公网接口,可以使用saas:
https://saas.runnergo.com
2、如果使用开源版自己部署,可以参考:
https://wiki.runnergo.cn/docs/42
注意:如遇到自己部署后压测提示“资源不足”的情况,是压力机配置有些低,建议使用8C16G配置主机。
当然RunnerGo也有一些需要改进的地方:对我个人来说,RunnerGo目前只支持http协议的性能测试,不支持连接数据库,协作功能也没有那么完善等等,这边也希望他们能尽快迭代产品,让RunnerGo更强大。最后附上官网和开源链接供感兴趣的小伙伴了解~
官网链接:
https://www.runnergo.com
GitHub地址:
https://github.com/Runner-Go-Team/
Gitee地址:
https://gitee.com/Runner-Go-Team