Node.js调试指南
赵坤
前言
笔者和同事在过去一年多主要把工作精力放在如何提高Node.js服务端的性能、稳定性和基础设施搭建上,随着公司业务量的快速增长,我们遇到了各种各样的挑战,也取得了不错的成绩:从起初啥都没有,到后来建立了比较完善的日志、监控和报警系统;从起初遇到问题不知道如何下手,到后来在遇到问题时能及时发现并定位问题。总之,付出得到了回报。
笔者曾将在这一段时间内遇到的调试、调优过程整理并记录成文章,发表在公司的知乎专栏上,本书就是在其基础上修改、补充和润色而成的,算是笔者对这几年在Node.js开发中进行调试的经验和思路的总结,笔者希望授人以鱼,亦能授人以渔。
本书概要
本书从CPU、内存、代码、工具、APM、日志、监控、应用这8个方面讲解如何调试Node.js,大部分小节都会以一段经典的问题代码为例进行分析并给出解决方案。
第1章讲解CPU相关的知识,涉及各种CPU性能分析工具及火焰图的使用。
第2章讲解内存相关的知识,例如Core Dump及如何分析heapsnapshot文件。
第3章讲解代码相关的知识,例如如何避免在代码层面写出难以调试的代码,并涉及部分性能调优知识。
第4章讲解工具相关的知识,涉及常用的Node.js调试工具和模块。
第5章讲解APM(Application Performance Management)相关的知识,例如两个不同的应用程序性能管理工具的使用。
第6章讲解日志相关的知识,例如如何使用Node.js的async_hooks模块实现自动日志打点,并结合各种工具进行使用。
第7章讲解监控相关的知识,例如如何使用Telegraf+InfluxDB+Grafana搭建一个完整的Node.js监控系统。
第8章讲解应用相关的知识,给出了两个完整的Node.js应用程序的性能解决方案。
本书定位
本书并不适合Node.js初学者,适合有一定Node.js开…