028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

node服务CPU过高如何解决

今天小编给大家分享的是node服务CPU过高如何解决,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的郁南网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

帮同事看一个CPU过高的问题

最终我们总结了排查思路,如下,欢迎补充

排查思路

0. 重启实例

部分问题,重启实例就能解决了。

先重启实例,这是必要做的一步,先让服务变得可用。如果后续CPU还是飙升过快,那么可能只能考虑先回滚代码了。飙升不快的话,可以不用回滚,尽快排查问题

1. linux shell 确定是否是node进程造成的

命令一: top

命令二: vmstat

[root@*** ~]# vmstat 2
procs -----------memory---------------- ---swap-- -----io---- --system-- -----cpu-----
 r  b      swpd  free   buff   cache      si   so    bi    bo   in cs   us sy id wa st
 0  0      0 233481328 758304 20795516    0    0     0     1    0    0  0  0 100  0  0
 0  0      0 233480800 758304 20795520    0    0     0     0  951 1519  0  0 100  0  0
 0  0      0 233481056 758304 20795520    0    0     0     0  867 1460  0  0 100  0  0
 0  0      0 233481408 758304 20795520    0    0     0    20  910 1520  0  0 100  0  0
 0  0      0 233481680 758304 20795520    0    0     0     0  911 1491  0  0 100  0  0
 0  0      0 233481920 758304 20795520    0    0     0     0  889 1530  0  0 100  0  0

参考链接: https://www.cnblogs.com/zsql/p/11643750.html

2. 看代码diff

重启实例还没解决,并且确定了是node进程的问题的话,

查看上线commit,检查一下代码diff,看看是否能找到问题点

3. 打运行时的CPU profiler

这个操作方法和我的另一篇如何快速定位ssr服务端内存泄漏问题 类似

node服务CPU过高如何解决

如果本地无法模拟出线上的环境?

比如下游RPC和本地就是有隔离,那就只能加代码,去打出profile了 nodejs.org/docs/latest…

node服务CPU过高如何解决

得到profile文件后,用chrome devtool打开

node服务CPU过高如何解决

4. 分析 CPU profiler

node服务CPU过高如何解决

5. 压测校验

可以用ab,或其他压测工具

总结

关于node服务CPU过高如何解决就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。


分享标题:node服务CPU过高如何解决
文章分享:http://www.tsicrk.com/article/pdosso.html

其他资讯

让你的专属顾问为你服务

2.2273s