美文网首页前端开发笔记Web前端之路
利用performance统计网站的加载新能

利用performance统计网站的加载新能

作者: fangdown | 来源:发表于2017-05-12 15:03 被阅读274次

介绍利用H5 api接口performance,统计网站的加载时间,进而优化加载速度。
在做H5项目的时候,首屏加载会是一个比较重要的部分,加载越快,用户流失就会越少,受限于网络等原因,可能一些人看到首页较快,一些人看到首页较慢,然后作为程序员却无法准确得知加载慢是因为什么原因造成的,没有办法去细化优化点。
幸运的是H5新API接口performance能让我们做的更多一点

window.onload = function(){
    setTimeout(function(){
        with(performance){
            readyStart = timing.fetchStart - timing.navigationStart;
            redirectTime = timing.redirectEnd  - timing.redirectStart;
            appcacheTime = timing.domainLookupStart  - timing.fetchStart;
            unloadEventTime = timing.unloadEventEnd - timing.unloadEventStart;
            lookupDomainTime = timing.domainLookupEnd - timing.domainLookupStart;
            connectTime = timing.connectEnd - timing.connectStart;
            requestTime = timing.responseEnd - timing.requestStart;
            initDomTreeTime = timing.domInteractive - timing.responseEnd;
            domReadyTime = timing.domContentLoadedEventEnd - timing.navigationStart;
            loadTime = timing.loadEventEnd - timing.navigationStart;
             //过早获取时 domComplete有时会是0loadEventTime = timing.loadEventEnd - timing.loadEventStart;loadTime = timing.loadEventEnd - timing.navigationStart;
             //过早获取时 loadEventEnd有时会是0
            console.log('准备新页面时间耗时: ' + readyStart);
            console.log('redirect 重定向耗时: ' + redirectTime);
            console.log('Appcache 耗时: ' + appcacheTime);
            console.log('unload 前文档耗时: ' + unloadEventTime);
            console.log('DNS 查询耗时: ' + lookupDomainTime);
            console.log('TCP连接耗时: ' + connectTime);
            console.log('request请求耗时: ' + requestTime);
            console.log('请求完毕至DOM加载: ' + initDomTreeTime);
            console.log('DOM加载完成: ' + domReadyTime);
            console.log('从开始至load总耗时: ' + loadTime);
        }
    },2000) 
}

通过分析,发现用此方法 DOM加载完成和全部加载完成耗用的时间和chrome浏览器NETWORDK面板上显示的DomContentLoaded 、Load时间基本一致,误差几ms,
所以我们基本上可以用这个方法来统计我们所做的H5网站在不同地域、不同客户端下加载H5所耗用的时间,进而逐个优化。比如DNS耗时拉 DOM加载耗时了 等等

window.performance.timing.jpg

相关文章

  • 利用performance统计网站的加载新能

    介绍利用H5 api接口performance,统计网站的加载时间,进而优化加载速度。在做H5项目的时候,首屏加载...

  • CNZZ异步统计代码

    CNZZ网站统计代码以异步加载形式加载, 可大幅提升网站的响应速度, 并且不显示统计图标。 统计代码如下: 添加好...

  • 使用Webpack4优化Web性能

    利用 Webpack 来优化 Web 性能属于加载性能优化 的一部分: ☛ Web Performance Opt...

  • 日志监控

    性能监控 利用window.performance进行性能上报,包括白屏时间与相关资源加载时间如何进行 web 性...

  • performance理解chrome页面加载机制1

    performance理解chrome页面加载机制 该篇只是了解最简单的纯dom的加载。 chrome devto...

  • HTML5 Performance

    简介 performance是html5的新特性之一,通过它,页面的开发者们可以非常精确的统计到自己页面的表现情况...

  • python学习-爬取异步网页的数据

    在使用网站中,我们会发现一种网站的翻页是自动实现的,这里其实是利用js来自动加载而成,对于这样的网站,我们必须采取...

  • 网页加载性能

    网页加载性能(限dom格式,非画布样式,画布的需自定义):performance

  • Tablestore + Blink实战:交易数据的实时统计

    背景 交易数据的实时统计是电商网站一个核心功能,可以帮助用户实时统计网站的整体销售情况,快速验证“新销售策略”的效...

  • 移动端APM性能监控

    所谓『APM』,就是Application Performance Management的简称,我们利用这个系统来...

网友评论

    本文标题:利用performance统计网站的加载新能

    本文链接:https://www.haomeiwen.com/subject/ojgztxtx.html