查找域名:开始查找域名到查找结束,计算公式为(domainLookupEnd - domainLookupStart)
建立连接:开始发出连接请求到连接成功,计算公式为(connectEnd - connectStart)
请求文档:开始请求文档到开始接收文档,计算公式为(responseStart - requestStart)
接收文档:开始接收文档到文档接收完成,计算公式为(responseEnd - responseStart)
domready:开始解析文档到 DOMContentLoaded 事件被触发,计算公式为(domContentLoadedEventStart - domLoading)
load事件持续:load 事件被触发到 load 事件完成,计算公式为(loadEventEnd - loadEventStart)
完全加载:开始解析文档到文档完全加载,计算公式为(domComplete - domLoading)
首屏加载:开始解析文档到首屏加载完毕,计算公式为(firstscreenready - domLoading)
完全加载【全过程】:此次浏览最开始时刻到完全加载完毕,计算公式为(domComplete - navigationStart)
首屏加载【全过程】:此次浏览最开始时刻到首屏加载完毕,计算公式为(firstscreenready - navigationStart)
前端性能监控
【重要】执行 onload 回调函数的时间 = loadEventEnd - loadEventStart
【原因】是否太多不必要的操作都放到 onload 回调函数里执行了,考虑过延迟加载、按需加载的策略么?
DNS查询耗时 = domainLookupEnd - domainLookupStart
DNS 预加载做了么?页面内是不是使用了太多不同的域名导致域名查询的时间太长?可使用 HTML5 Prefetch 预查询 DNS ,见:[HTML5 prefetch](http://segmentfault.com/a/1190000000633364)
TCP链接耗时 = connectEnd - connectStart
request请求耗时 = responseEnd - responseStart
原因】页面内容经过 gzip 压缩了么,静态资源 css/js 等压缩了么?
解析dom树耗时 = domComplete - domInteractive
解析 DOM 树结构的时间 domComplete - responseEnd;
白屏时间 = domloadng - fetchStart
domready时间 = domContentLoadedEventEnd - fetchStart
onload时间 = loadEventEnd - fetchStart
首屏时间=responseStart - navigationStart;
【原因】这可以理解为用户拿到你的资源占用的时间,加异地机房了么,加CDN 处理了么?加带宽了么?加 CPU 运算速度了么?
渲染完成时间 = domContentLoadedEventEnd - navigationStart;
页面onload时间 = loadEventEnd - navigationStart;
重定向的时间 redirectEnd-redirectStart
【原因】拒绝重定向!比如,http://example.com/ 就不该写成 http://example.com
卸载页面的时间unloadEventEnd - t.unloadEventStart;
版权声明:本文为原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
关注微信公众号:"cq_xifan";