用RunnerGo平替JMeter?这个测试平台确实可以!

news2024/11/16 18:11:17

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/712932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java版本企业电子招标采购系统源码+二次开+Spring Cloud + Spring Boot 发

一、立项管理 1、招标立项申请 功能点:招标类项目立项申请入口,用户可以保存为草稿,提交。 2、非招标立项申请 功能点:非招标立项申请入口、用户可以保存为草稿、提交。 3、采购立项列表 功能点:对草稿进行编辑&#x…

耳骨传导耳机哪个牌子好,几款实战性高的耳骨传导耳机分享

骨传导耳机是一种利用骨头直接传声的耳机,因为它不需要通过耳道来听音乐,所以能够更好地保护听力,也不会因为佩戴耳机而影响到我们正常的交流,可以说是一种比较健康的耳机。不过骨传导耳机的价格相对于普通蓝牙耳机来说还是要贵一…

二叉树题目:相同的树

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:相同的树 出处:100. 相同的树 难度 3 级 题目描述 要求 给你两个二叉树的根结点 p \texttt{p} p …

振动在线监测:如何优化您的设备维护计划?

在工业生产中,设备的维护计划对于确保设备可靠性和生产效率至关重要。而振动在线监测作为一种先进的技术手段,可以实时监测设备振动情况,帮助企业优化维护计划,提高设备维护效率。本文将介绍振动在线监测的重要性,并分…

SparkSQL的分布式执行引擎(Spark ThriftServer)

文章目录 1.Spark ThriftServer2.启动 Spark ThriftServer3.Beeline方式连接4.DataGrip方式连接5. 代码方式6. SparkSQL运行方式7.参考文章 1.Spark ThriftServer Spark ThriftServer 相当于一个持续性的Spark on Hive集成模式,可以启动并监听在10000端口&#xff…

182_Power BI 使用 DAX 按照先进先出原则计算毛利润

182_Power BI 使用 DAX 按照先进先出原则计算毛利润 一、背景 在笔者以往的文章中也有先进先出的案例,可以参考(https://jiaopengzi.com/?s%E5%85%88%E8%BF%9B%E5%85%88%E5%87%BA)。 今天我们来看一个网友提出的问题, 先进先出的原则,入…

ATM模拟机-实战开发-前期准备

需求分析 项目名称:ATM模拟存取钱系统 目录 需求分析 项目名称:ATM模拟存取钱系统 项目目标功能分析: 用户功能: 提供功能 基本功能 管理员功能: 提供功能 基本功能 详细分析 用户功能 管理员功能 用户…

ModaHub大禹智库:ModelScope魔搭社区的“下载数据严重造假“的说法可能存在一定的合理性

目录 首先,我们需要了解ModelScope魔搭社区的运营模式和数据收集方式。 其次,我们需要考虑ModelScope魔搭社区的用户群体和应用场景。 此外,我们还需要考虑ModelScope魔搭社区的发展时间和市场竞争情况。 综上所述,ModelScope…

PHP反序列化漏洞之Phar

目录 1、认识phar类型文件 2、制作phar文件 3、phar的上传与读取 4、漏洞利用的条件 1、认识phar类型文件 这种文件可以通过phar协议来读取(使用phar://后面接文件路径即可读取) 先给大家看一下phar文件的大致样子: 它一般包括头部信息&…

Windows10下使用wsl2+ubuntu1804

一定好好看官方文档 适用于 Linux 的 Windows 子系统文档 | Microsoft Learn 一、安装WSL 1.1、方式一: 现在,可以使用单个命令安装运行 WSL 所需的一切内容。 在管理员模式下打开 PowerShell 或 Windows 命令提示符,方法是右键单击并选择…

OpenAI Gym入门与实操(3)

接前一篇文章:OpenAI Gym入门与实操(2) 本文内容参考: Getting Started With OpenAI Gym | Paperspace Blog, 【强化学习】 OpenAI Gym入门:基础组件(Getting Started With OpenAI Gym: The B…

leetcode 989.数组形式的整数加法

⭐️ 题目描述 🌟 leetcode链接: 数组形式的整数加法 ⭕️ 代码: /*思路:数组从后往前和k的低位相加,若大于等于10则进一.[1 , 2 , 0 , 0] 3 44 3 2 1 最后逆置数组即可。 */ int* addToArrayForm(…

【进程】快速上手进程操作

目录 0. 进程概述 1. 创建进程 1.1 进程的创建:fork函数 1.2 进程的等待:wait()、waitpid() 1.3 特殊进程:僵尸进程、孤儿进程、守护进程 1.4 进程的终止:exit和_exit函数 1.5 进程退出清理:atexit函数 1.6 进…

自动部署代码导致接口访问404

问题原因:.user.ini文件中open_basedir与线上服务器中不同导致 由于.user.ini文件特殊性质 需要修改其中文件需要root权限也无法完成 推荐文章(linux系统中文件有哪些隐藏属性_帮助中心_文汇软件_山东文汇信息【官方网站】) 即可解决

【elementplus】body设置zoom后,el-table开启show-overflow-tooltip后,表格的tooltip显示会错位的解决方案

由于我的项目是无法避免使用zoom,所以只记录zoom后的解决方案 示例:明明划过的是第一行,tooltip却显示到了第四行的位置; 正确显示:划过第一行,tooltip显示在第一行的位置 代码:使用transfor…

关于 Asyncio,别再使用run_until_complete了

熟悉Python 的 Asyncio 进行异步编程的小伙伴肯定对下面的写法不陌生: import asyncioasync def test():await asyncio.sleep(3)print("Test rersult")loop asyncio.get_event_loop() loop.run_until_complete(test())这种写法也是在网上搜到的最多的协…

VUE小白学习-官方网站资料学习-2023年5月22日

VUE小白学习-官方网站资料学习-2023年5月22日 VUE干啥的?单文件组件?官方说,VUE前端万金油。 日期:2023年5月22日 VUE干啥的? 是一个前端框架,有自己的一套规则,方便前端开发。 单文件组件&am…

企业微信扫码登陆-详细案例

以下是实现的pc端企微扫码登陆,话不多时,直接上代码。。。 第1步:企业微信自建应用 第二步:获取到之后拿到 整体流程: 1.企业发起授权登录请求,企业微信用户允许授权后,企业微信会重定向到企业…

Windows基于WSL搭建Python数据分析环境

最近配置了一台较为不错的台式机,记录下自己配置环境的过程。 安装WSL,提供Linux环境 如果你发现后续的命令无法运行或者说软件商城中找不到,这可能意味着你的操作系统不符合要求。WSL安装要求 Windows 10 version 2004(Build 19…

C++之H数回信

void H数(int 数) {int Lin 数;while (Lin>1){if (!(Lin % 2) || !(Lin % 3) || !(Lin % 5) || !(Lin % 7)){if (!(Lin % 2))Lin / 2;else if (!(Lin % 3))Lin / 3;else if (!(Lin % 5))Lin / 5;else if (!(Lin % 7))Lin / 7;}else return;}cout << 数 << ends…