Serverless下的NodeJS Runtime监控及Profile

注:文章整理自腾讯云高级前端工程师陈家兴在Hello Serverless 沙龙深圳站上的演讲,演讲主题为《NodeJS Runtime监控》,感兴趣的读者可关注公众号,后台回复Serverless 深圳」领取讲师演讲PDF

根据统计数据,SCF的用户中,NodeJsPython的用户是最多的,而相信在座的各位应该有很多就是NodeJS的开发者,大家对监控方面有过实践或者感兴趣的话应该能有自己的收获,而如果你不是Node的开发者,那也没关系,其中的很多原理都是相通的,也希望各位能从不同的角度看这个话题,应该能碰撞出更多火花。我这次分享的主题是node JS runtime监控,我这里就先花一点点时间说两句为啥要做监控。

监控的作用

相信在座的各位都是有相当开发经验的开发者了,我们日常是否需要监控?肯定需要!但实际监控都能做到什么,可能有些同学其实并没有太明确的概念。

实际上,监控的作用很简单,只有两个,第一个就是发现问题,监控一般跟数据跟图表挂钩,当数据和图表表现出跟往常不一样的特征的时候,我们马上就能知道,可能是哪里出问题。

而另一个作用就是解决问题,一般来说,不同的问题会呈现不一样的数据特征,比如说,内存呈不断上升的,到了顶峰突然又断崖式地降下来,明显就是内存泄露到最后内存耗尽,最后服务自动重启的特征,通过数据的不同特征,就可以根据经验或者推理,找到问题的原因,进而验证和解决问题。

简单讲完为什么需要监控,就来讲这次的分享的重点,Node Runtiem级监控。

我们先来看看常规的监控,常规的都能监控到什么呢。

  • CPU使用率 —— CPU使用的百分比

  • 内存使用量

  • 出包入包量和网卡流量 —— 互联网基本上所有应用都会跟网络沟通

runtime级别的监控都能监控到什么呢,CPU使用时间,其中包括系统时间和用户时间,Node程序内内存使用情况,里面包了程序内存消耗总量,实际内存使用量

,空闲内存量,等等。下面还有一个Event loop Lag,我后面再详细说一下。

640?wx_fmt=png

很明显的对比就是,常规监控都是一个概览额总值,而Runtime级别的监控下是更详细的数据,包括内部使用上面的各方面的细节,而更详细的数据,对开发者无疑就意味着更容易发现问题和解决问题。

大文豪鲁迅曾经说过,Talk is cheap, show me the code。这里先看看API,对于CPU来说,有两个API可以获取到相关的信息,一方面是cpuUsage,另一方面是cpus

640?wx_fmt=png

明明都是CPU信息,为什么会在两个不同的库下面呢,其实理解里面的内容就会发现挺有道理的,后者在os库下面࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值