You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
在 Flame Chart 面板上你可以看到三条线,蓝线代表 DOMContentLoaded 事件,绿线代表渲染开始的时间( time to first paint),红线代表 load 事件。
统计面板
统计面板选择因点击选择不同的目标统计的内容不同。
Summary面板:概括了浏览器加载的总时间。
颜色
含义
蓝色
Loading,加载
黄色
Scripting,脚本
紫色
Rendering,渲染
绿色
Painting,绘制
深灰
Other,其他
浅灰
Idle,空闲
Bottom-Up面板:展示事件各个阶段耗费的时间。
Call Tree面板:查看事件的调用栈。
Event Log面板:事件日志信息。
Lighthouse
Lighthouse 是 Google 开发的一款工具,用于分析网络应用和网页,收集现代性能指标并提供对开发人员最佳实践的意见。为Lighthouse 提供一个需要审查的网址,它将针对此页面运行一连串的测试,然后生成一个有关页面性能的报告。
Lighthouse主要监测指标
指标
说明
性能(Performance)
页面的性能评分,包括:首次内容绘制(First Contentful Paint)、首次有效绘制(First Meaningful Paint)、首次 CPU 空闲(First CPU Idle)、可交互时间(Time to Interactive)、速度指标(Speed Index)、输入延迟估值(Estimated Input Latency)。
页面性能的好与坏,直接影响到用户的留存。对于前端开发者来说,不能以感官的体验进行判断,而是需要了解页面的性能指标,并且尝试将这些指标量化,根据量化的指标进行针对性的改进,才能真正达到优化的效果。一般页面的性能指标有:
本文通过对Performance API、chrome 的Performace面板、Lighthouse的简介,讲解如何使用这些工具对页面进行简单的性能检测与分析。
Performance API
此处只介绍如何使用Timing中的指标进行性能分析,获取Timing中的指标的方式:
下图是 Navigation Timing Level 1 的处理模型,从当前浏览器窗口卸载旧页面开始,到新页面加载完成,整个过程一共分为 9 个模块:提示卸载旧文档、重定向/卸载、应用缓存、DNS 解析、TCP 握手、HTTP 请求处理、HTTP 响应处理、DOM 处理、文档装载完成。
Navigation Timing Level 2 给出了新的时间线,新版的时间线将描述资源加载的时间用 PerformanceResourceTiming 对象封装了起来。
指标说明
关键指标计算
以下给出统计页面性能指标的方法。
利用Performace API,可以对用户侧的页面性能指标进行上报统计,通过量化的数据,针对性的进行优化。需要注意的是,对于spa,如果前端路由更改,Performace的数据并不会更新,因此如果需要统计子路由的指标,需要自定义上报。
Chrome Performance面板
Performance 是 Chrome 提供给我们的开发者工具,用于记录和分析我们的应用在运行时的所有活动。它呈现的数据具有实时性、多维度的特点,可以帮助我们很好地定位性能问题。
使用 Performance 工具时,为了规避其它 Chrome 插件对页面的性能影响,我们最好在无痕模式下打开页面。
面板分为4个部分:
控制面板
开启记录,停止记录,配置记录期间需要记录的内容。
概览面板
概括区域由三个图形记录组成:
火焰图面板
统计面板
统计面板选择因点击选择不同的目标统计的内容不同。
Bottom-Up面板:展示事件各个阶段耗费的时间。
Call Tree面板:查看事件的调用栈。
Event Log面板:事件日志信息。
Lighthouse
Lighthouse 是 Google 开发的一款工具,用于分析网络应用和网页,收集现代性能指标并提供对开发人员最佳实践的意见。为Lighthouse 提供一个需要审查的网址,它将针对此页面运行一连串的测试,然后生成一个有关页面性能的报告。
Lighthouse主要监测指标
Lighthouse评分计算
Lighthouse使用
使用charome插件扩展
使用chrome调试面板中的LightHouse
打开chrome的控制面板,选中Lighthose选项卡,即可配置生成报告。
通过命令行使用LightHouse
安装:
使用: 执行
lighthouse url
即可生成报告。总结
利用Performace API,chrome Performace以及Lighthouse这几个工具,可以多维地了解页面的性能情况,了解、获取优化建议,从而可以对页面进行针对性的优化。
以上,如有错误,欢迎指正。
Bigo前端构建平台Almond
内部平台Almond上的页面性能分析工具,是基于Lighthouse实现的,用于H5业务的性能分析。H5上线前,需经过评测,各项性能指标达到内部要求的指标之后,才能上线。目前已累计评测页面超过1800个。
目前Bigo前端正在快速发展,团队规模超过100人,有nodejs、小游戏、中后台、c端业务、前端架构等多个技术方向,各个方向均有较好的实践,欢迎各位加入,共同成长,一起建设更专业的前端团队。
引用
10分钟彻底搞懂前端页面性能监控
Navigation Timing API
前端性能优化指南[6]--Web 性能标准
The text was updated successfully, but these errors were encountered: