带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(2)

简介: 带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(2)

带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(1)https://developer.aliyun.com/article/1349482?groupCode=tech_library


3) memory

performance.memory 属性提供了与内存使用情况相关的性能指标,可以帮助我们了解页面的内存限制、已使用内存、垃圾回收次数等信息。

 

以下是一些常用的 memory 属性:

  • performance.memory.jsHeapSizeLimit:表示 JavaScript 堆的大小限制。
  • performance.memory.usedJSHeapSize:表示已使用的 JavaScript 堆大小。
  • performance.memory.totalJSHeapSize:表示 JavaScript 堆的总大小。

这些 memory 属性可以用于监控页面的内存使用情况,及时发现内存泄漏或过度使用内存的问题。

 

示例代码:

 

console.log(`JavaScript 堆大小限制: ${performance.memory.jsHeapSizeLimit}`);
console.log(`已使用的 JavaScript 堆大小: ${performance.memory.usedJSHeapSize}`);
console.log(`JavaScript 堆的总大小: ${performance.memory.totalJSHeapSize}`);

4) navigationTiming

performance.getEntriesByType('navigation') 方法返回与页面加载时间相关的详细信息,提供了更详细的页面加载时间指标,如重定向时间、解析 DOM 树时间、首次渲染时间等。

 

以下是一些常用的 navigationTiming 属性:

  • navigationTiming.redirectTime:表示重定向时间。
  • navigationTiming.domInteractiveTime:表示 DOM 解析完成的时间。
  • navigationTiming.domContentLoadedTime:表示 DOMContentLoaded 事件触发的时间。
  • navigationTiming.loadEventTime:表示 load 事件触发的时间。

这些 navigationTiming 属性可以用于更细粒度地分析页面加载的各个阶段所花费的时间。

 

示例代码:

 

const entries = performance.getEntriesByType('navigation');const navigationTiming = entries[0];
console.log(`重定向时间: ${navigationTiming.redirectTime}`);
console.log(`DOM 解析完成时间: ${navigationTiming.domInteractiveTime}`);
console.log(`DOMContentLoaded 事件触发时间: ${navigationTiming.domContentLoadedTime}`);
console.log(`load 事件触发时间: ${navigationTiming.loadEventTime}`);

5 其他方法

Performance API还提供了一些其他方法,用于测量和记录时间戳、添加标记、计算代码执行时间等。

 

以下是一些常用的方法:

  • performance.now():返回当前时间戳,可用于测量代码执行时间。
  • performance.mark():添加一个时间戳标记,用于记录关键时刻。
  • performance.measure():计算两个时间戳标记之间的时间间隔。
  • performance.getEntriesByName():获取指定名称的时间戳标记信息。

这些方法可以帮助我们精确测量代码的执行时间和关键事件的发生时间。

 

示例代码:

 

const startTime = performance.now();
// 执行一些耗时的操作
const endTime = performance.now();const executionTime = endTime - startTime;
console.log(`代码执行时间: ${executionTime} 毫秒`);
performance.mark('start');// 执行一些操作
performance.mark('end');
performance.measure('操作耗时', 'start', 'end');const measurements = performance.getEntriesByName('操作耗时');
console.log(`操作耗时: ${measurements[0].duration} 毫秒`);


带你读《现代Javascript高级教程》三十二、Performance API: 提升网页性能的利器(3)https://developer.aliyun.com/article/1349480?groupCode=tech_library

相关文章
|
2月前
|
监控 JavaScript 算法
如何使用内存监控工具来定位和解决Node.js应用中的性能问题?
总之,利用内存监控工具结合代码分析和业务理解,能够逐步定位和解决 Node.js 应用中的性能问题,提高应用的运行效率和稳定性。需要耐心和细致地进行排查和优化,不断提升应用的性能表现。
197 77
|
2月前
|
存储 缓存 JavaScript
如何优化Node.js应用的内存使用以提高性能?
通过以上多种方法的综合运用,可以有效地优化 Node.js 应用的内存使用,提高性能,提升用户体验。同时,不断关注内存管理的最新技术和最佳实践,持续改进应用的性能表现。
143 62
|
2月前
|
JSON 缓存 JavaScript
深入浅出:使用Node.js构建RESTful API
在这个数字时代,API已成为软件开发的基石之一。本文旨在引导初学者通过Node.js和Express框架快速搭建一个功能完备的RESTful API。我们将从零开始,逐步深入,不仅涉及代码编写,还包括设计原则、最佳实践及调试技巧。无论你是初探后端开发,还是希望扩展你的技术栈,这篇文章都将是你的理想指南。
|
2月前
|
存储 缓存 监控
如何使用内存监控工具来优化 Node.js 应用的性能
需要注意的是,不同的内存监控工具可能具有不同的功能和特点,在使用时需要根据具体工具的要求和操作指南进行正确使用和分析。
81 31
|
1月前
|
JSON JavaScript 前端开发
深入浅出Node.js:从零开始构建RESTful API
在数字化时代的浪潮中,后端开发作为连接用户与数据的桥梁,扮演着至关重要的角色。本文将引导您步入Node.js的奇妙世界,通过实践操作,掌握如何使用这一强大的JavaScript运行时环境构建高效、可扩展的RESTful API。我们将一同探索Express框架的使用,学习如何设计API端点,处理数据请求,并实现身份验证机制,最终部署我们的成果到云服务器上。无论您是初学者还是有一定基础的开发者,这篇文章都将为您打开一扇通往后端开发深层知识的大门。
53 12
|
1月前
|
JSON 缓存 负载均衡
Node.js 的性能
Node.js 的性能
63 12
|
1月前
|
API
获取网页状态码[可指定地域]免费API接口教程
该接口用于获取指定网址的访问状态码,支持从国内、香港、美国等地域节点访问。通过POST或GET请求,需提供用户ID、KEY及目标网址等参数。返回结果包括状态码和信息提示。 示例:https://cn.apihz.cn/api/wangzhan/getcode.php?id=88888888&key=88888888&type=1&url=www.apihz.cn。
|
2月前
|
JavaScript 前端开发 API
Vue.js 3:深入探索组合式API的实践与应用
Vue.js 3:深入探索组合式API的实践与应用
|
1月前
|
API 区块链
获取指定网页基础信息【TDK】免费API接口教程
该接口用于从标准网页中提取标题、关键词、描述和图标等信息。支持POST/GET请求,需提供用户ID、KEY及目标网址等参数,可选指定访问节点。返回状态码、信息提示及提取的内容。示例与详细文档见官网。
|
2月前
|
JavaScript NoSQL API
深入浅出Node.js:从零开始构建RESTful API
在数字化时代的浪潮中,后端开发如同一座灯塔,指引着数据的海洋。本文将带你航行在Node.js的海域,探索如何从一张白纸到完成一个功能完备的RESTful API。我们将一起学习如何搭建开发环境、设计API结构、处理数据请求与响应,以及实现数据库交互。准备好了吗?启航吧!

热门文章

最新文章