node如何监控进程?管理性能监控
做Node更需要关注性能监控的问题,对于运行在服务器的程序更需要知道运行时的一些性能参数,才能更好定位问题!
- Node的性能监控上的开源服务,其中有一个的开源就是easy-monitor
Node.js 进程方面我们要监控以下几个指标?
- cpu使用率
- 当发现 CPU 使用率长期维持在 70% 以上,我们就要考虑是否需要扩容,或者是增加进程的方式来解决这个问题,如果长期在 100% 那么肯定是需要扩容,或者检查内部代码逻辑是否存在问题
- 内存变化
- Node.js 的内存泄漏还是比较常见的,其最大的问题就是导致垃圾回收时间变长,从而影响 Node.js 的服务性能,最大的影响就是内存达到上限后进行重启,从而中断用户请求,引发在重启过程中的用户请求
- 因为 V8 内存上限是 1.4 G
- 进程异常重启次数
- 也是用来判断我们代码逻辑是否足够健壮的一个点,如果存在异常重启次数,那么一定是我们代码中存在未 catch 住的异常,或者说上面提到的内存泄漏上限问题
easy-monitor
- 大概原理应该是在你启动的node服务中增加了收集当前进程和机器性能指标的一个sdk
pm2
- 可以直接用 PM2 来构建一个专门的监控告警机制