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

MeterSphere · August 07, 2023 · 2972 hits


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 级限制;

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

No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up