RunnerGo,是一款基于go语言研发的开源测试平台。本文将从性能测试方面和结构方面还有功能方面对比两款产品。

性能方面:

Runner基于go语言研发,相对于jmeter来说更轻量级。所以性能测试方面RunnerGo应该是优于jmeter的这里我做了个压测对比,真实对比一下:

一条使用查看新闻的场景:六个接口,使用并发模式,20的并发,执行10分钟。

相同的配置下进行压测

jmeter聚合报告:

RunnerGo相较于Jmeter,优势在哪里_测试报告

RunnerGo直接发送到邮箱的测试报告

RunnerGo相较于Jmeter,优势在哪里_压测_02

由于计算方式不同这里只对比总请求数,汇总下来:

RunnerGo总请求数:98640个,错误率:0

jmeter总请求数:91219个,错误率:0

对比我们发现相同配置下RunerGo发出了更多的请求,而成功率都是百分百,所以RunnerGo在性能测试方面确实是优于jmeter的。

功能方面:

在用jmeter做性能测试时想看完整一点的测试报告,想配置阶梯模式来压测,想配置不同的接口并发这些都需要安装插件并且影响机器性能,想做自动化测试还得放到jenkins,这些配置起来太繁琐。RunnerGo则比较简单:

  • 不需要扩展插件即可实时查看测试报告

RunnerGo相较于Jmeter,优势在哪里_性能测试方面_03

  • 内置多种压测模式

RunnerGo相较于Jmeter,优势在哪里_测试报告_04

  • 平台自带的持续集成和自动化测试配置

RunnerGo相较于Jmeter,优势在哪里_性能测试方面_05

结构方面:

jmeter的单机模式在一般的压力机配置下,会受限于jmeter自身的机制和硬件配置,最多可以支持几百至一千左右的模拟请求线程。想部署分布式集群测试会带来非常多的运维管理问题。同时,Master-Slave模式,还会给主节点带来很大的交互压力,部署大规模的分布式集群压测非常难做到。

RunnerGo相较于Jmeter,优势在哪里_性能测试方面_06

RunnerGo自带分布式结构轻松支持大规模并发。

RunnerGo相较于Jmeter,优势在哪里_测试报告_07

综上所述RunnerGo在结构、性能、功能上都优于jmeter,并且顺应互联网工具平台化趋势。当然RunnerGo也有一些需要改进的地方:

对我个人来说,RunnerGo目前只支持http协议的性能测试,不支持连接数据库,协作功能也没有那么完善等等,这边也希望他们能尽快迭代产品,让RunnerGo更强大。最后附上官网和开源链接感兴趣的小伙伴可以关注一下~

GitHub地址:https://github.com/Runner-Go-Team/

​Gitee地址​​​​:​​https://gitee.com/Runner-Go-Team