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

news2024/12/28 3:50:08

在这里插入图片描述
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.coloradmin.cn/o/842608.html

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

相关文章

【深度学习】采用自动编码器生成新图像

一、说明 你知道什么会很酷吗?如果我们不需要所有这些标记的数据来训练 我们的模型。我的意思是标记和分类数据需要太多的工作。 不幸的是,大多数现有模型从支持向量机到卷积神经网,没有它们,卷积神经网络就无法训练。无监督学习不…

7月27日上课内容 Firewalld防火墙

iptables 软件防火墙 包过滤防火墙firewalld 防火墙包过滤防火墙。网络层centos7自带的默认的防火墙。取代iptables firewalld两种配置模式 运行时配置 永久配置 iptables是静态防火墙 firewalld是动态防火墙。 firewalld安装区域来进行划分: 9个区域 moba里面要打开防火墙 fi…

智慧工厂解决方案[60页PPT]

导读:原文《》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 完整版领取方式 完整版领取方式: 如需获取完整的电子版内容参考学习 您可以关注…

OpenCv.js(图像处理)学习历程

opencv.js官网 4.5.0文档 以下内容整理于opencv.js官网。 简介 OpenCV由Gary Bradski于1999年在英特尔创建。第一次发行是在2000年。OpenCV支持c、Python、Java等多种编程语言,支持Windows、Linux、Os X、Android、iOS等平台。基于CUDA和OpenCL的高速GPU操作接口也…

【Seata1.5.2 下载 配置 整合 踩坑 测试】—— 含各种踩坑记录(详细版)

💧 S e a t a 1.5.2 ——含各种踩坑记录 \color{#FF1493}{Seata1.5.2 —— 含各种踩坑记录} Seata1.5.2——含各种踩坑记录💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞见云的博客🎐 &…

KM生存分析

这个系列从2022年开始,一直更新使用R语言分析数据及绘制精美图形。小杜的生信笔记主要分享小杜学习日常!如果,你对此感兴趣可以加入该系列的学习。 最终图形 本期图形代码 ##KM生存分析 ##20230807##导入包 library(survival) library(surv…

【深度学习】StyleGANv2 2019 论文,Analyzing and Improving the Image Quality of StyleGAN

StyleGAN论文: 《A Style-Based Generator Architecture for Generative Adversarial Networks》 论文:https://arxiv.org/abs/1812.04948 代码: https://github.com/NVlabs/stylegan StyleGANv2论文: 《Analyzing and Improving …

Linux葵花宝典-无需自宫版

1. Linux简介 1.1 什么是Linux Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由Linus Torvalds于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、…

【知网检索稳定】第八届现代管理和教育技术国际学术会议(MMET2023)

第八届现代管理和教育技术国际学术会议(MMET 2023)将于2023年09月22-24日在中国上海召开。会议由四川大学、泰国程逸皇家大学、泰国程逸皇家大学中泰同文同学国际交流中心主办、乐山师范学院、四川职业技术学院、AEIC学术交流中心协办。会议主要围绕会议…

边写代码边学习之numpy

1. numpy.matmul() 用法 matmul() 用于计算两个数组的矩阵乘积。示例如下 def matmul_test():array1 np.array([[[1.0, 3], [1, 1], [2, 3]]])array2 np.array([[2, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0],[1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0], ])result np.matmul(array1, …

C语言有关文件的操作

打开文件与关闭文件 在编写代码时,我有一个习惯是“保证一一对应”。 写下代码fopen()之后,还没有写对文件进行增删查改等操作的代码,先立刻写上fclose(),避免忘记关闭FILE* fd的情况。 不关闭fd,在fopen()次数较少的…

linux初始命令

如果没有ip地址,配置: 查看当前时间: 指定格式查看时间: 修改时间: 查看时区: 设置时区: 查看当前工作目录: root的家目录就是根,普通用户家目录是home

迈瑞BeneVision N17/N15/N12协议解析

迈瑞BeneVision N17/N15/N12协议解析

pdf 怎么转换成word 文档?这几种方法不容错过

pdf 怎么转换成word 文档?PDF 和 Word 都是日常工作和学习中常见的文档格式,但是它们拥有不同的特点。PDF 可以保持文档格式的一致性,并且不易修改,而 Word 则更加灵活,可以随意编辑和修改。因此,将 PDF 转…

春秋云镜 CVE-2020-26042

春秋云镜 CVE-2020-26042 Hoosk CMS v1.8.0 存在sql注入漏洞 靶标介绍 Hoosk CMS v1.8.0 install/index.php 存在sql注入漏洞。 启动场景 漏洞利用 SQL注入POC POST /install/index.php HTTP/1.1 Host: xxxx User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; r…

无涯教程-Perl - chdir函数

描述 此功能将当前工作目录更改为EXPR,如果未指定,则更改为用户的主目录。此函数调用等效于Unix命令 cd EXPR 。 语法 以下是此函数的简单语法- chdir EXPRchdir返回值 如果失败,此函数返回0,如果成功,则返回1。 例 以下是显示其基本用法的示例代码,假设您在/user/home/…

【stm32】初识stm32—stm32环境的搭建

文章目录 🛸stm32资料分享🍔stm32是什么🎄具体过程🏳️‍🌈安装驱动🎈1🎈2 🏳️‍🌈建立Start文件夹 🛸stm32资料分享 我用夸克网盘分享了「STM32入门教程资料…

Proxmox VE lxc容器中使用samba共享文件夹遇到mount error(1): Operation not permitted 的解决

问题描述: 在PVE的LXC 容器中使用samba成功创建共享并使用, 用smbclient访问共享可以正常连接和使用,但是使用 mount.cifs 或者 mount.smb3时提示权限错误 mount error(1): Operation not permitted Refer to the mount.cifs(8) manual page…

【机密计算-大厂有话说】AMD

基于 VirTEE/SEV 的 SEV-SNP 平台证明 刊号 58217,版本 v1.2,发布于 2023.7 1. 介绍 VirTEE/sev 工具箱提供了一套基于 rust 语言的简单易用的 API 来访问 AMD EPYC 处理器内的安全处理器,这个库已经早已经支持传统的 SEV 固件,最…

代理模式:静态代理+JDK/CGLIB 动态代理

文章目录 1. 代理模式2. 静态代理3. 动态代理3.1. JDK 动态代理机制3.1.1. 介绍 3.1.2. JDK 动态代理类使用步骤3.1.3. 代码示例3.2. CGLIB 动态代理机制3.2.1. 介绍3.2.2. CGLIB 动态代理类使用步骤3.2.3. 代码示例 3.3. JDK 动态代理和 CGLIB 动态代理对比 4. 静态代理和动态…