Node.js 应用故障排查手册 —— 大纲与常规问题指标简介
JavaScript 发展到今天,早已脱离原本浏览器的战场,借助于 Node.js 的诞生将其触角伸到了服务端、PC 跨平台客户端方案等各个领域,但是与此同时,JS Runtime 对于绝大部分的开发者来说又一如既往的处于黑盒状态——开发者无法感知其运行状态,出现一些性能、内存问题时也没有很好的工具链进行更深入的支持。
Node.js 应用故障排查手册 —— 类死循环导致进程阻塞
在实践篇一中我们看到了两个表象都是和 CPU 相关的生产问题,它们基本也是我们在线上可能遇到的这一类问题的典型案例,而实际上这两个案例也存在一个共同点:我们可以通过 [Node.js 性能平台](https://www.aliyun.com/product/nodejs) 导出进程对应的 CPU Profile 信息来进行分析定位问题,但是实际在线上的一些极端情况下,我们遇到的故障是没有办法通过轻量的 V8 引擎暴露的 CPU Profile 接口(仅部分定制的 AliNode runtime 版本支持,详见下文)来获取足够的进程状态信息进行分析的,此时我们又回到了束手无策的状态。
Node.js 性能平台新功能——模块仓库
Node.js 性能平台推出的模块仓库,在完全覆盖 cnpm 私有仓库功能的基础上,提供了一套多用户隔离 + 精确权限控制的模式,能够覆盖企业开发中面临的多种场景,最关键的是这一切功能目前是免费提供的。