唯快不破——高效定位线上Node.js应用内存泄漏
Posted QCon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了唯快不破——高效定位线上Node.js应用内存泄漏相关的知识,希望对你有一定的参考价值。
作者介绍:黄一君,毕业于华南理工大学,刚毕业时一度想要从事的是Java相关的工作,后来去一个智能家居全套解决方案的团队,入职后通知要使用JS语言开发服务端,一度懵了很久。然而逐渐从业务开发——发现/解决应用层问题——深入阅读各种Node框架/库源代码——研究底层性能这样一步步的走下来,开始很庆幸自己能在这样一个技术巨变的时间点接触到Node,能看到JS越来越广泛地应用在服务端、跨平台客户端和物联网等方方面面。
线上使用Node.js技术作为中间层,进行前后端彻底的分离的方案现在越来越广泛地应用到企业开发中。这也是在容器化微服务架构趋势下“服务端设计的接口究竟是面向UI还是只是通用服务?”这个命题中许多企业选择的答案。
而在这种选择下,开发者普遍遇到的问题是:一方面工程师们享受Node.js带来的更高自由度的前后端分离方案,更好的渲染性能,更便捷的接口组装和数据处理;另一方面Node.js应用对于绝大多数开发者来说却处于一个黑盒状态,导致应用稳定性没有保障。结合为客户排查一些线上故障和之前我自己的编写业务框架和业务开发的工作经历,内存泄漏的问题是使用Node.js进行服务端开发时经常遇到的一颗炸弹。
武侠小说里常常写到:天下武功,唯快不破。那么当我们在业务上线后通过一些通用的监控基础设施发现线上的Node服务存在内存泄漏时,也肯定是希望能最快地定位并解决问题,以对用户的影响降到最低。所以本次分享从Node.js内嵌的v8引擎提供的垃圾回收原理,以及遇到的一些真实且典型的内存泄漏代码案例排查分析总结,来帮助大家应对线上遇到的内存泄漏,更理想的是能帮助大家在开发阶段避免写出内存泄漏的代码。
演讲视频
幻灯片
即可下载完整幻灯片
往期演讲推荐
QCon上海2018
一年一度的QCon上海站将于2018年10月18-20日在上海宝华万豪酒店召开,下面是您可能感兴趣的话题,点击“阅读原文”查看大会详情。
《使用Rekit开发可扩展的前端应用》
讲师:eBay中国研发中心资深技术专家 王沛
近几年前端技术快速发展,也趋于稳定。然而在开发能力越来越强的同时,其开发难度却越来越大。一方面针对大型项目,如何进行技术选型,如何组织项目结构,才能够使得在增加新功能的同时不会大幅增加项目的复杂度,没有一个统一的实践方式。另一方面,前端项目的开发工具远远落后于技术本身的发展。大家现在使用的VSCode,Sublime Text仍然只属于代码编辑器,和十年前的记事本之类没有本质区别。因为它们并不是真正的IDE,既不了解项目结构,也不了解什么是组件或是Store。这使得大家在项目中各自为战,常常针对特定的项目架构写很多脚本来自动化开发流程。这在一定程度增加了项目复杂度,也限制了大型应用的开发。
本次分享就将介绍一个全新的React专用IDE:Rekit,是如何解决当前Web开发中遇到的问题,以及如何利用Rekit来开发大型React Web应用。
以上是关于唯快不破——高效定位线上Node.js应用内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章