performance

监控性能

1:加载级别的优化:https://blog.csdn.net/weixin_39725756/article/details/112232273

 const {

        domainLookupEnd,

        domainLookupStart,

        connectEnd,

        connectStart,

        domComplete,

        domLoading,

        domInteractive,

        responseStart,

        responseEnd,

        navigationStart,

        loadEventEnd,

        fetchStart,

        requestStart,

        redirectEnd,

        domContentLoadedEventStart,

    } = performance.timing;

    console.log('DNS解析时间:', domainLookupEnd - domainLookupStart);

    /**

     * {

     * DNS层面,ds预解析:

     * 1、dns-prefetch(done)<meta http-equiv="x-dns-prefetch-control" content="on" />

     * }

     * */

 

    const redirectEndFix = redirectEnd || fetchStart;

    console.log('开始时间点:', fetchStart - redirectEndFix);

    console.log('开始发起请求的时间点:', requestStart - redirectEndFix);

    console.log('响应结束的时间点:', responseEnd - redirectEndFix);

    console.log('开始解析dom树的时间点:', domLoading - redirectEndFix);

    console.log('完成dom解析的时间点:', domInteractive - redirectEndFix);

    console.log('完成dom渲染时间点:', domComplete - redirectEndFix);

    console.log('========');

    console.log(

        'DOM 解析完成后,网页内资源加载开始的时间,文档发生 DOMContentLoaded事件的时间~完成解析 DOM 树的时间:',

        domContentLoadedEventStart - domInteractive,

    );

    /**

     * 加载node_modules的资源:

     * 1,是否可以并行

     * 2,是否可以只加载首屏的资源(访问其他路由就会造成耗时长一些)

     * 3,是否可以延后加载一些资源

     * 4,那些资源可以第一次请求之后就存到本地

     */

    console.log('HTTP 响应全部接收完成的时间~完成解析 DOM 树的时间:', domInteractive - responseEnd);

    console.log('TCP建立连接的时间:', connectEnd - connectStart);

    console.log('request请求耗时:', responseEnd - responseStart);

    console.log('解析dom树耗时:', domInteractive - domLoading);

    console.log('dom渲染时间:', domComplete - domContentLoadedEventStart);

    console.log('白屏时间:', responseEnd - navigationStart);

    console.log('页面onload时间(总下载时间)', loadEventEnd - navigationStart);

posted @ 2022-09-21 15:01  kimsaerono  阅读(363)  评论(0编辑  收藏  举报