前端页面性能优化,性能测试算法优化,MeterSphere开源持续测试平台v2.10.5 LTS版本发布

在这里插入图片描述
2023年8月7日,MeterSphere一站式开源持续测试平台正式发布v2.10.5 LTS版本。自2023年5月发布v2.10 LTS版本后,MeterSphere开源项目组坚持每两周发布小版本,持续进行问题的修复更新,并针对部分功能进行优化。

本次发布的MeterSphere v2.10.5 LTS版本在前端页面性能、性能测试算法、后端接口权限、高频操作使用体验等方面进行了关键性的升级与优化,为用户带来更好的使用体验,欢迎广大社区用户升级使用。

前端页面性能优化

此前有社区用户反馈MeterSphere平台部分页面,尤其是各个模块的首页加载速度缓慢。主要的原因是前端资源包体积比较大,首页完全加载资源超过30MB,个别JavaScript资源大小接近3MB。针对用户反馈的这一情况,MeterSphere V2版本对前端性能通过以下方式进行了集中优化,并在v2.10.2 LTS版本更新发布,优化的内容包括:

■ 包体拆分:使用webpack-bundle-analyzer构建产物进行分析,将打包进行拆解;

■公共库抽离:将共享资源抽离成公共库,减少各应用模块打包时的重复打包;

■缓存共享:将公共库的资源放置在统一目录下,各模块应用使用外链引入同一资源,充分利用HTTP缓存策略,减少重复加载;

■包体精简:部分npm资源修改为按需引入,减少无用代码的引入;

■动态加载:部分第三方插件较大,如PDF、ECharts等都是在部分页面使用,并不是全部页面都需要使用的。这一部分进行了拆分,不在main.js直接引入,改为在使用时动态加载。

经过这些前端优化措施后,MeterSphere平台的性能优化效果明显,优化后最大的包文件尺寸也在330KB内,整体加载资源大小减少超过60%,完全加载时间从20s缩减至7.5s左右。

优化前后对比:
在这里插入图片描述
在这里插入图片描述

性能测试算法优化

MeterSphere开源版的性能测试模块与JMeter处理一致,但在高并发尤其是分布式多节点测试时,压测数据与JMeter本地运行存在一定差异。针对此情况,MeterSphere企业版进行了专项算法优化,在测试数据准确性、实时性上达到了与原生JMeter一致的水平。以双测试节点访问Nginx为测试场景进行对比,MeterSphere企业版与JMeter原生的测试结果几乎一致。

JMeter测试结果与MeterSphere企业版测试结果对比如下:
在这里插入图片描述

除算法优化外,MeterSphere企业版还支持Kubernetes资源池。在执行性能测试任务时,平台调用Kubernetes API快速创建对应的性能测试Job,测试执行结束后自动回收对应的资源,并将不同团队使用的资源池区分开来,避免互相影响。同时,MeterSphere企业版提供原厂专业服务,为客户提供性能测试压测需求分析、流量模型设计,以及分布式压测环境搭建、执行、分析和优化等性能测试专家服务。

后端API调用增加

Requires Permissions

MeterSphere开源持续测试平台的产品设计团队非常重视产品的安全性、灵活性和可维护性。

自MeterSphere v2.10.2 LTS版本起,所有后端API调用均添加了“Requires Permissions”(需要权限)验证。通过在API调用中添加“Requires Permissions”验证步骤,可以确保只有具有相应权限的用户或角色才能够访问和执行该API,有效地保护了系统的敏感数据和功能,防止未授权的访问和操作。

这样的设计也提高了系统的可维护性,当系统需要进行权限调整或更新时,只需要对相应的权限进行修改,不需要改动API代码本身,从而减少了系统维护和升级的复杂性。

用户可以自定义配置访问MeterSphere的Swagger URL是否需要进行权限认证,即在docker-compose-gateway.yml中修改以下配置来控制是否需要认证。

■SWAGGER_ENABLED: false

高频操作功能使用体验优化

■ 测试跟踪:测试计划执行功能测试用例体验优化(精简操作步骤);

■ 接口测试:新建接口Case使用体验优化(精简操作步骤);

■ 接口测试:接口断言方式支持XPath断言HTML格式的响应体;

■ UI测试:UI场景自动化步骤加载性能优化;

■ 通用功能:系统各功能模块取消模块树8级限制;

■ 通用功能:高级搜索支持通过自定义字段搜索。

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

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

相关文章

csdn崩溃了?每次都卡

反馈给了官方客服也没有响应,最近几周都是这样的高频率的转圈圈!这个入口不受重视?这个对于csdn用户来说,是最最基本的入口 如果CSDN(CSDN.net)崩溃了,可能会对以下方面产生影响: 开…

RISC-V基础之函数调用(三)保留寄存器(包含实例)

RISC-V将寄存器分为保留和非保留两类。保留寄存器是指在函数调用前后必须保持相同值的寄存器,因为调用者期望在调用后能够继续使用这些寄存器的值。保留寄存器包括s0到s11(因此称为saved),sp和ra。非保留寄存器,也称为…

Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台免费搭建 qt

Java版知识付费源码 Spring CloudSpring BootMybatisuniapp前后端分离实现知识付费平台 提供职业教育、企业培训、知识付费系统搭建服务。系统功能包含:录播课、直播课、题库、营销、公司组织架构、员工入职培训等。 提供私有化部署,免费售…

TiDB Serverless 正式商用,全托管的云服务带来数据管理和应用程序开发的全新体验

八 年 前 ,我们构建了 TiDB,一个开源分布式关系型数据库。 我们的目标是重新定义开发者和企业处理数据的方式,满足不断增长的可扩展性、灵活性和性能需求。 从那时起,PingCAP 便致力于为开发者和企业提供快速、灵活和规模化的数据…

通过cpolar内网穿透发布网页测试

通过内网穿透发布网页测试 文章目录 通过内网穿透发布网页测试 对于网站开发者来说,对完成的网页进行测试十分必要,同时还要在测试过程中充分采纳委托制作方的意见,及时根据甲方意见进行修改,但在传统的测试方式中,必须…

Maven入职学习

一、什么是Maven? 概念: Maven是一种框架。它可以用作依赖管理工具、构建工具。 它可以管理jar包的规模、jar包的来源、jar包之间的依赖关系。 它的用途就是管理规模庞大的jar包,脱离IDE环境执行构建操作。 具体使用: 工作机…

Java课题笔记~ 不使用 AOP 的开发方式(理解)

Step1:项目 aop_leadin1 先定义好接口与一个实现类,该实现类中除了要实现接口中的方法外,还要再写两个非业务方法。非业务方法也称为交叉业务逻辑: doTransaction():用于事务处理 doLog():用于日志处理 …

sql 关联了2张表的 update 语句(转)

转自:SQL Update:使用一个表的数据更新另一张表 、update 关联两个表 基本上 select 能支持的关联和子查询操作,都能在 update 语句中使用。 在 where 条件中使用子查询 update a set a.age 1 where id in (select device_id from b) 在 wher…

Selenium 根据元素文本内容定位

使用xpath定位元素时,有时候担心元素位置会变,可以考虑使用文本内容来定位的方式。 例如图中的【股市】按钮,只有按钮文本没变,即使位置变化也可以定位到该元素。 xpath内容样例: # 文本内容完全匹配 //button[text(…

刷题笔记 day9

1658 将 x 减到 0 的最小操作数 解析:1. 当数组的两端的数都大于x时,直接返回 -1。 2. 当数组所有数之和小于 x 时 ,直接返回 -1。 3. 数组中可以将 x 消除为0,那么可以从左边减小为 0 ;可以从右边减小为 0 &#xff1…

10大在线头脑风暴工具,团队创新必备!

在线头脑风暴工具的使用为创意发展和团队协作提供了许多优势,使团队成员能够同时参与头脑风暴,促进创意的产生和交流。一款优秀的在线头脑风暴工具可以以直观的方式展示创意,激发创造力和想象力。此外,还具有组织和整理功能&#…

linux文本三剑客---grep,sed,awk

目录 grep 什么是grep? grep实例演示 命令参数: 案例演示: sed 概念: 常用选项: 案例演示: awk 概念: awk常用命令选项: awk变量: 内置变量 自定义变量 a…

npm install报错 -> npm ERR! Unexpected token ‘.‘ 报错解决办法。

问题原因: 用nvm1.1.7的版本安装了16.x以上的node, 然后再下载依赖的时候就报错了;总结一下就是nvm版本太低了,他的里面没有集成高版本node导致的。 解决办法: 把nvm切换到新版本就行了。 1. 卸载掉当前所有的node nvm unins…

Cadence学习

Cadence学习 Cadence内容涵盖Cadence主要功能Cadence功能模块Allegro Design Entry CIS 和 OrCAD Capture CIS 的区别Cadence 公司简介Allegro Design Entry CISOrCAD Capture CIS OrCAD中part和database part区别OrCAD中不同页面的连接关系应该怎么处理(1&#xff…

基于Mediapipe的姿势识别并同步到Unity人体模型中

如题,由于是商业项目,无法公开源码,这里主要说一下实现此功能的思路。 人体关节点识别 基于Mediapipe Unity插件进行开发,性能比较低的CPU主机,无法流畅地运行Mediapipe,这个要注意一下。 Mediapipe33个人体…

neo4j入门实例介绍

使用Cypher查询语言创建了一个图数据库,其中包含了电影《The Matrix》和演员Keanu Reeves、Carrie-Anne Moss、Laurence Fishburne、Hugo Weaving以及导演Lilly Wachowski和Lana Wachowski之间的关系。 CREATE (TheMatrix:Movie {title:The Matrix, released:1999,…

java文件

一.File类 二.扫描指定目录,并找到名称中包含指定字符的所有普通文件(不包含目录),并且后续询问用户是否要删除该文件 我的代码: import java.io.File; import java.io.IOException; import java.util.Scanner;public class Tes…

简单认识ELK日志分析系统

一. ELK日志分析系统概述 1.ELK 简介 ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 好处: (1)提高安全…

计算机网络—TCP和UDP、输入url之后显示主页过程、TCP三次握手和四次挥手

TCP基本认识 TCP是面向连接的、可靠的,基于字节流的传输层通信协议。 图片来源小林coding 序号:传输方向上字节流的字节编号。初始时序号会被设置一个随机的初始值(ISN),之后每次发送数据时,序号值 ISN…

知识图谱实战应用23-【知识图谱的高级用法】Neo4j图算法的Cypher查询语句实例

大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用23-【知识图谱的高级用法】Neo4j图算法的Cypher查询语句实例,Neo4j图算法是一套在Neo4j图数据库上运行的算法集合。这些算法专门针对图数据结构进行设计,用于分析、查询和处理图数据。图算法可以帮助我们发现图中的模…