再谈前端性能检测

507 阅读4分钟

背景

在写这篇文章之前,有说过页面性能相关的文章。有兴趣的朋友可以戳这里 谈谈前端性能自动化

那么这篇文章其实就是性能2.0了。第一版,写的着急,有些过于臃肿,在实践的体验上也不是很好。于是最近优化了一波 上一个写的性能工具,并且在此之上还做了一个轻量级的工具。目的是快速检测。说到这,朋友们估计就差不多明白了。没错这次整了两个版本。分别是性能检测之 mini & plus 版本了。

好了,说完背景就直接整活吧。

正文

这次迭代,主要提供了两个做性能处理服务。一个轻量级的服务 runactivity,另一个则是重量级服务:resoleautorun

那么两者的区别是什么呢?

先说第一个 轻量级 runactivity

一、runactivity

先来看一张图吧。

image.png

该服务可以提供,检测的页面的基础性能数据,包括:首屏、首帧、FCP、页面文本大小、页面传输大小、 可交互耗时、全部加载完成耗时 。同时图中也是包含了:dom、network、server、资源 等相关的数据。

同时呢,该页面检测之后的相关建议也会给到,查看详情 便是提供的另一个接口,这个只是去拿数据。数据在执行检测完成的同时,就已经存到 mongo 中了。

给到的建议包含了: 绩效、最佳实践、隐私 可以来看一张图:

image.png

所以以上,感兴趣的同学,已经大概清楚了,这个mini版本的服务,能提供的能力了。如果仅仅就是想看到你在开发的页面的这些相关信息,你用这个其实就已经够了。但是如果觉得这个太mini了,不能满足。没关系,在介绍一个重量级的。

二、resoleautorun

同样的,先来看几张图吧。

基础性能数据:

image.png

瀑布流 + 时间节点 + Visual Metrics :

image.png

image.png

image.png

assets

image.png

Domains

image.png

image.png

好了,上面几乎集合了plus版本,能提供的全部数据。

不仅有提供了,页面分析的性能数据,和详细建议。同时能看到,页面发出的每个请求的解析过程中的时间耗时明细、请求何时发出的、页面中耗时较大的资源、domain下的传输大小,下载速度等等

看到这,明白为什么这个是 plus 版本了吧。😀

设计详细

这里需要讲下,服务需要依赖的东西了。

数据库

首先肯定是数据库,因为服务是用 node 编写。所以服务关联用的 DB 是mongo。所以大家需要在依赖中 装一个mongo ,

  npm install mongoose 

并且本地需要下载一个mongo。如果你不知道怎么装,没关系,看这里: Node.js & MongoDB 入门教程与使用

mini 版本 runactivity

如果你仅仅是用轻量级的服务,那么,你只需要一个mongo依赖就已经完全足够了。

plus 版本 resoleautorun

如果你想用plus版本,那么你还需要一个强依赖,就是本地需要装一个docker,如果你没装过,也没关系,虽然我没有亲自整理,但是我还是会献上两份链接,就是这么贴心了。这里大家自己看版本安装。有问题可以评论区联系,或者自行百度。

win or Linux Docker安装

结尾

好了,说到这,关于服务能提供的,需要安装的,就差不多说完了。接下来就是上仓库了:

GitHub

这里稍微做下说明:node server.js 启动服务。

activityserver/server/controllers/ 路径下的两个js文件,对应着不同的版本,当然,朋友可以按照自己的需求,去定制化

mini 版本: webactivity.js
plus 版本: webactivitymain.js

下面给一个简单的体验地址。

这个是本穷b申请的一台服务器,一直是放自己的资料和文件。为了给大家做演示,我特地在这个本不富裕的机器上,雪上加霜的承重。😭

如果访问慢,大家请等等这个还在路上的孩子!!!

体验地址: 页面之性能分析

还有要是大家要是想了解这个工具使用的技术栈,可以看这个 谈谈前端性能自动化。,写的很详细了奥。

要是觉得这篇文章对大家有帮助,就点个赞吧~

大家平时都听什么好听的歌,欢迎评论互相分享下