RunnerGo,是一款基于go语言研发的开源测试平台。本文将从性能测试方面和结构方面还有功能方面对比两款产品。
性能方面:
Runner基于go语言研发,相对于jmeter来说更轻量级。所以性能测试方面RunnerGo应该是优于jmeter的这里我做了个压测对比,真实对比一下:
一条使用查看新闻的场景:六个接口,使用并发模式,20的并发,执行10分钟。
相同的配置下进行压测
jmeter聚合报告:
RunnerGo直接发送到邮箱的测试报告:
由于计算方式不同这里只对比总请求数,汇总下来:
RunnerGo总请求数:98640个,错误率:0
jmeter总请求数:91219个,错误率:0
对比我们发现相同配置下RunerGo发出了更多的请求,而成功率都是百分百,所以RunnerGo在性能测试方面确实是优于jmeter的。
功能方面:
在用jmeter做性能测试时想看完整一点的测试报告,想配置阶梯模式来压测,想配置不同的接口并发这些都需要安装插件并且影响机器性能,想做自动化测试还得放到jenkins,这些配置起来太繁琐。RunnerGo则比较简单:
不需要扩展插件即可实时查看测试报告
内置多种压测模式
平台自带的持续集成和自动化测试配置
结构方面:
jmeter的单机模式在一般的压力机配置下,会受限于jmeter自身的机制和硬件配置,最多可以支持几百至一千左右的模拟请求线程。想部署分布式集群测试会带来非常多的运维管理问题。同时,Master-Slave模式,还会给主节点带来很大的交互压力,部署大规模的分布式集群压测非常难做到。
RunnerGo自带分布式结构轻松支持大规模并发。
综上所述RunnerGo在结构、性能、功能上都优于jmeter,并且顺应互联网工具平台化趋势。
RunnerGo的安装:
1、 如果测试公网接口,可以使用saas:
2、 如果使用开源版自己部署,可以参考:
https://wiki.runnergo.cn/docs/42
注意:如遇到自己部署后压测提示“资源不足”的情况,是压力机配置有些低,建议使用8C16G配置主机。
当然RunnerGo也有一些需要改进的地方:对我个人来说,RunnerGo目前只支持http协议的性能测试,不支持连接数据库,协作功能也没有那么完善等等,这边也希望他们能尽快迭代产品,让RunnerGo更强大。最后附上官网和开源链接感兴趣的小伙伴可以关注一下~
GitHub地址:https://github.com/Runner-Go-Team/