前言:为什么需要监控
web的性能一定程度上影响了用户留存率,GoogleDoubleClick研究表明:如果一个移动端页面加载时长超过3秒,用户就会放弃而离开。BBC发现网页加载时长每增加1秒,用户就会流失10%。
我们希望通过监控来知道web应用性能的现状和趋势,找到web应用的瓶颈?某次发布后的性能情况怎么样?是否发布后对性能有影响?感知到业务出错的概率?业务的稳定性怎么样?监控什么?首先我们需要知道应该监控些什么呢?有哪些具体的指标?google开发者提出了一种RAIL模型来衡量应用性能,即:Response、Animation、Idle、Load,分别代表着web应用生命周期的四个不同方面。并指出最好的性能指标是:ms内响应用户输入;动画或者滚动需在10ms内产生下一帧;最大化空闲时间;页面加载时长不超过5秒。我们可转化为三个方面来看:响应速度、页面稳定性、外部服务调用响应速度:页面初始访问速度+交互响应速度页面稳定性:页面出错率外部服务调用:网络请求访问速度1.页面访问速度:白屏、首屏时间、可交互时间我们来看看google开发者针对用户体验,提出的几个性能指标这几个指标其实都是根据用户体验,提炼出对应的性能指标1)firstpaint(FP)andfirstcontentfulpaint(FCP)
首次渲染、首次有内容的渲染这两个指标浏览器已经标准化了,从performance的ThePaintTimingAPI可以获取到,一般来说两个时间相同,但也有情况下两者不同。2)Firstmeaningfulpaintandheroelementtiming首次有意义的渲染、页面关键元素我们假设当一个网页的DOM结构发生剧烈的变化的时候,就是这个网页主要内容出现的时候,那么在这样的一个时间点上,就是首次有意义的渲染。这个指标浏览器还没有规范,毕竟很难统一一个标准来定义网站的主体内容。googlelighthouse定义的firstmeaningfulpaint: