使用performance进行网页性能监控 - 恩施安防监控培训学校

欢迎来到湖南阳光电子学校-安防监控培训专家!十年安防监控培训经验,培养5000合格人才。专业安防监控培训学校。24小时值班手机:13807313137   微信号:yp94168
我们的优势: 专业安防监控学校,顶尖技师为你量身定制 传授安防核心技术、监控核心技术 保障100%的学员能真正学会学懂 达到独立设计安装安防监控设备 承诺:包工作!
安防监控培训,安防监控培训班,安防监控培训学校,安防监控培训中心

使用performance进行网页性能监控 - 恩施安防监控培训学校

当前位置:主页 > 监控技术 >   更新时间:2019-01-04 16:25   已经有人围观 |  作者:网络采编  来源:网络整理

由于项目需要, 需要对网页的一些性能进行监控, 接触到了performance,

window.performance 提供了一组精确的数据,经过简单的计算就能得出一些网页性能数据, 将这些数据存储为日志, 可有效的对网页性能进行监控.

首先看一下在Chrome 的控制台执行window.performance会出现什么

 

下面是对这些属性的详细解释:

1 performance = { memory: { totalJSHeapSize: 10000000, jsHeapSizeLimit: 2190000000 }, navigation: { type: 0 }, 19 20 timing: { navigationStart: 1441112691935, unloadEventStart: 0, unloadEventEnd: 0, redirectStart: 0, redirectEnd: 0, fetchStart: 1441112692155, domainLookupStart: 1441112692155, domainLookupEnd: 1441112692155, connectStart: 1441112692155, connectEnd: 1441112692155, secureConnectionStart: 0, requestStart: 1441112692158, responseStart: 1441112692686, responseEnd: 1441112692687, domLoading: 1441112692690, domInteractive: 1441112693093, domContentLoadedEventStart: 1441112693093, domContentLoadedEventEnd: 1441112693101, domComplete: 1441112693214, loadEventStart: 1441112693214, loadEventEnd: 1441112693215 96 } 97 };

 

通过这些属性, 能够计算出一些重要的网页性能数据:

// 计算加载时间 function getPerformanceTiming () { var performance = window.performance; if (!performance) { // 当前浏览器不支持 return; } var t = performance.timing; var times = {}; //页面加载完成的时间 times.loadPage = t.loadEventEnd - t.navigationStart; //【重要】解析 DOM 树结构的时间 times.domReady = t.domComplete - t.responseEnd; //【重要】重定向的时间 times.redirect = t.redirectEnd - t.redirectStart; //【重要】DNS 查询时间 times.lookupDomain = t.domainLookupEnd - t.domainLookupStart; //【重要】读取页面第一个字节的时间 // TTFB 即 Time To First Byte times.ttfb = t.responseStart - t.navigationStart; //【重要】内容加载完成的时间 times.request = t.responseEnd - t.requestStart; //【重要】执行 onload 回调函数的时间 //【原因】是否太多不必要的操作都放到 onload 回调函数里执行了,考虑过延迟加载、按需加载的策略么? times.loadEvent = t.loadEventEnd - t.loadEventStart; // DNS 缓存时间 times.appcache = t.domainLookupStart - t.fetchStart; // 卸载页面的时间 times.unloadEvent = t.unloadEventEnd - t.unloadEventStart; // TCP 建立连接完成握手的时间 times.connect = t.connectEnd - t.connectStart; return times; }

  

Performance还提供了一些方法供使用

Performance.now()
返回一个 时间戳,表示从参考时刻开始经过的毫秒量
该时间戳的值是从 window.performance.timing 接口的navigationStart属性中的时间戳值为起始点开始计时的.
和JavaScript中其他可用的时间类函数(比如Date.now)不同的是,window.performance.now()返回的时间戳没有被限制在一毫秒的精确度内,而它使用了一个浮点数来达到微秒级别的精确度.
另外一个不同点是,window.performance.now()是以一个恒定的速率慢慢增加的,它不会受到系统时间的影响(可能被其他软件调整)
使用示例:

let t0 = window.performance.now(); doSomething(); let t1 = window.performance.now(); console.log("doSomething函数执行了" + (t1 - t0) + "毫秒.")

Performance.mark()
在浏览器的性能输入缓冲区中创建一个 timestamp,基于给定的 name
示例:

function create_mark(name) { if (performance.mark === undefined) { console.log("performance.mark Not supported"); return; } // Create the performance mark performance.mark(name); // mark 方法是可以创建多条同名 performanceEntry 的,例如: // performance.mark("begin") // performance.mark("begin") // performance.mark("begin") // performance.mark("begin") // performance.getEntriesByName("begin") // [...] // 0: PerformanceMark { name: "begin", entryType: "mark", startTime: 94661370.14, … } // 1: PerformanceMark { name: "begin", entryType: "mark", startTime: 95542853.4, … } // 2: PerformanceMark { name: "begin", entryType: "mark", startTime: 95545560.92, … } // 3: PerformanceMark { name: "begin", entryType: "mark", startTime: 95548089.94, … } // length: 4 // __proto__: Array [] }

Performance.clearMarks()
移除给定的 mark,从浏览器的性能输入缓冲区中
下面的例子演示clearMarks() 的两种用法。

function clear_mark(name) { if (performance.clearMarks === undefined) { console.log("performance.clearMarks Not supported"); return; } //移除所有标记了此名称的peformance entry performance.clearMarks(name); } function clear_all_marks() { if (performance.clearMarks === undefined) { console.log("performance.clearMarks Not supported"); return; } //从performance 缓冲区中移除所有标记的performance entry performance.clearMarks(); }

Performance.clearMeasures()
移除给定的 measure,从浏览器的性能输入缓冲区中

Performance.clearResourceTimings()
移除所有的 entryType 是 "resource" 的 performance entries,从浏览器的性能数据缓冲区中

Performance.getEntries()
返回一个 PerformanceEntry 对象的列表,基于给定的 filter

Performance.getEntriesByName()
返回一个 PerformanceEntry 对象的列表,基于给定的 name 和 entry type

Performance.getEntriesByType()
返回一个 PerformanceEntry 对象的列表,基于给定的 entry type

Performance.measure()
在浏览器的指定 start mark 和 end mark 间的性能输入缓冲区中创建一个指定的 timestamp

Performance.setResourceTimingBufferSize()
将浏览器的资源 timing 缓冲区的大小设置为 "resource" type performance entry 对象的指定数量

Performance.toJSON() 
是一个 JSON 格式转化器,返回 Performance 对象的 JSON 对象

使用performance的这些属性和方法, 能够准确的记录下我们想要的时间, 再加上日志采集等功能的辅助,我们就能很容易的掌握自己网站的各项性能指标了.

百度收录查询:使用performance进行网页性能监控 - 恩施安防监控培训学校
学员报名须知 您所需要了解的问题
安防监控技术学校
安防监控技术学校
安防监控技术学校
返回顶部
电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 空调维修学校 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 空调维修学校 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 空调维修学校 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 空调维修学校 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校

{sdcms:webkey}

湖南阳光技术学校常年面向全国招生,是经湖南省人社厅批准设立的正规职业技能培训机构(办学许可证:人社民 1800003000183 号),(统一社会信用代码:91430111MA4QA2DR1A)。深耕技能培训32年,综合评分:94.6/10 ,学校位于长沙市雨花区红花坡路 176 号。学校开设:电工、焊工、钢筋工、家电维修、手机维修、电脑维修、摩托车维修、电动车维修、木工、水电工、瓦工、空调维修、电动工具维修、电机维修、农机维修、安防监控、家电清洗等实战专业培训,采用 “半天理论 + 半天实操” 模式,实操占比超 90%,小班手把手教学,零基础学员也能快速上手。师资团队以双师型专家为主,85% 教师持工程师 / 高级技师职称,一线教学经验丰富。学校提供住宿,收费透明无****消费,可协助报**全国通用的特种作业操作证与职业技能等级证书。同时搭建就业与创业支持网络,与 200 + 企业合作,负责推荐工作,助力学员顺利就业或开店。目前招生地区有:中山,固原,银川,玉树,海东,陇南,酒泉,张掖,天水,金昌,兰州,榆林,延安,渭南,铜川,阿里,山南,拉萨,怒江,文山州,楚雄州,普洱,昭通,玉溪,昆明,毕节,铜仁,遵义,贵阳,甘孜州,资阳,达州,宜宾,南充,遂宁,绵阳,泸州,自贡,三亚,崇左,河池,玉林,钦州,梧州,柳州,梅州,肇庆,湛江,佛山,珠海,韶关,湘西州,怀化,郴州,张家界,邵阳,株洲,仙桃,随州,荆州,荆门,襄樊,黄石,驻马店,信阳,南阳,漯河,中卫,石嘴山,海西,海南藏州,黄南州,海北,甘南,庆阳,平凉,武威,白银,嘉峪关,安康,汉中,咸阳,宝鸡,林芝,日喀则,昌都,迪庆,德宏,大理,西双版纳,红河州,临沧,丽江,保山,曲靖,黔东州,黔西州,安顺,六盘水,凉山州,阿坝州,雅安,广安,眉山,内江,广元,德阳,攀枝花,成都,海口,来宾,百色,贵港,北海,桂林,南宁,云浮,揭阳,潮州,清远,阳江,汕尾,惠州,茂名,江门,汕头,深圳,广州,娄底,永州,益阳,岳阳,湘潭,长沙,恩施州,黄冈,孝感,鄂州,十堰,武汉,周口,商丘,三门峡,许昌,焦作,安阳,鹤壁,平顶山,开封,郑州,聊城,滨州,德州,莱芜,日照,泰安,烟台,潍坊,东营,淄博,上饶,济南,抚州,宜春,赣州,新余,九江,景德镇,宁德,南平,泉州,莆田,厦门,宣城,亳州,六安,宿州,黄山,滁州,安庆,淮北,马鞍山,蚌埠,芜湖,合肥,丽水,舟山,衢州,金华,湖州,嘉兴,宁波,宿迁,镇江,盐城,连云港,苏州,徐州,南京,绥化,牡丹江,佳木斯,大庆,鹤岗,哈尔滨,白城,白山,辽源,吉林,葫芦岛,铁岭,盘锦,阜新,锦州,本溪,鞍山,沈阳,锡林郭勒盟,通辽,乌海,吕梁,忻州,晋中,晋城,阳泉,太原,廊坊,承德,保定,邯郸,唐山,宁夏,甘肃,西藏,贵州,重庆,广西,湖南,河南,江西,安徽,江苏,黑龙江,辽宁,山西,天津,四平,内蒙古,吴忠,果洛,西宁,定西,商洛,西安,那曲,黔南州,巴中,乐山,贺州,防城港,东莞,河源,常德,衡阳,咸宁,宜昌,濮阳,新乡,洛阳,菏泽,临沂,威海,济宁,枣庄,青岛,吉安,鹰潭,萍乡,南昌,龙岩,漳州,三明,福州,池州,巢湖,阜阳,铜陵,淮南,台州,绍兴,温州,杭州,泰州,扬州,淮安,南通,常州,无锡,大兴安岭,黑河,七台河,伊春,双鸭山,鸡西,齐齐哈尔,延边,松原,通化,长春,朝阳,辽阳,营口,丹东,抚顺,大连,阿拉善盟,兴安盟,乌兰察布,巴彦淖尔,呼伦贝尔,鄂尔多斯,赤峰,头,呼和浩特,临汾,运城,朔州,长治,大同,衡水,沧州,张家口,邢台,秦皇岛,石家庄,青海,陕西,云南,四川,海南,广东,湖北,山东,福建,浙江,上海,吉林,河北,北京