深入领略前端机能监控
TCP哀求优化:TCP的优化多半在处事器端,前端能做的就是只管镌汰TCP的哀求数,也就是镌汰HTTP的哀求数目。http 1.0 默认行使短毗连,也是TCP的短毗连,也就是客户端和处事端每举办一次http操纵,就成立一次毗连,使命竣事就间断毗连。这个进程中有3次TCP哀求握手和4次TCP哀求开释。镌汰TCP哀求的方法有两种,一种是资源归并,对付页面内的图片、css和js举办归并,镌汰哀求量。另一种行使长链接,行使http1.1,在HTTP的相应头会加上 Connection:keep-alive,当一个网页打开完成之后,毗连不会顿时封锁,再次会见这个处事时,会继承行使这个长毗连。这样就大大镌汰了TCP的握手次数和开释次数。可能行使Websocket举办通讯,全程只必要成立一次TCP链接。 HTTP哀求优化:行使内容分发收集(CDN)和镌汰哀求。行使CDN可以镌汰收集的哀求时延,CDN的域名不要和主站的域名一样,这样会防备会见CDN时还携带主站cookie的题目,对付收集哀求,可以行使fetch发送无cookie的哀求,镌汰http包的巨细。也可以行使当地缓存计策,只管镌汰对处事器数据的一再获取。 渲染优化:在赏识器端的渲染进程,如大型框架,vue和react,它的模板着实都是在赏识器端举办渲染的,不是直出的html,而是要走框架中相干的框架代码才气去渲染出页面,这个渲染进程对付首屏就有较大的消费,白屏的时刻会有所增进。在须要的环境下可以在处事端举办整个html的渲染,从而将整个html直出到我们的赏识器端,而非在赏识器端举办渲染。 尚有一个题目就是,在默认环境下,JavaScript 执行会“阻止理会器”,当赏识器碰着一个 script 外链标志时,DOM 构建将停息,会将节制权移交给 JavaScript 运行时,等剧本下载执行完毕,然后再继承构建 DOM。并且内联剧本始终会阻止理会器,除非编写特殊代码来推迟它们的执行。我们可以把 script 外链插手到页面底部,也可以行使 defer 或 async 耽误执行。defer 和 async 的区别就是 defer 是有序的,代码的执行按在html中的先后次序,而 async 是无序的,只要下载完毕就会当即执行。可能行使异步的编程要领,好比settimeout,也可以行使多线webworker,它们不会阻碍 DOM 的渲染。
资源机能API performance.timing记录的是用于说明页面整体机能指标。假如要获取个体资源(譬喻JS、图片)的机能指标,就必要行使Resource Timing API。 performance.getEntries()要领,包括了全部静态资源的数组列表;每一项是一个哀求的相干参数有name,type,时刻等等。下图是chrome表现腾讯网的相干资源列表。 可以看到,与 performance.timing 比拟: 没有与 DOM 相干的属性,新增了name、entryType、initiatorType和duration四个属性。它们是
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |