相关疑难解决方法(0)

node js cpu 100%

我们遇到的问题是,我们的节点应用程序每隔一段时间就会在100%CPU上运行.服务器不是非常活跃,通常在0%-2%CPU上运行.我想知道可能导致此问题的常见问题是什么,以及找出导致此问题的原因的最佳方法是什么.

服务器规格:

node version 0.8.14
ubuntu 11.10
Intel(R)Xeon(R)CPU E5645 @ 2.40GHz

使用的节点包:

"express" : 2.5.x,
"log" : "1.2.x",
"redis" : "0.8.x",
"socket.io" : "0.9.x",
"mongodb": ">= 0.9.6-7",
"passport" : "0.x.x",
"passport-local" : "0.x.x",
Run Code Online (Sandbox Code Playgroud)

node.js

30
推荐指数
3
解决办法
3万
查看次数

如何分析nodejs应用程序在运行的特定时间段?

我有一个 Node 应用程序,它监听 websocket 数据源并通过与另一个 API 对话来对其进行操作。我现在遇到了性能问题。大多数时候,一切都很安静,CPU 利用率约为 2-5%,但有时(每 24 小时约 3 次)我们收到的 Websocket feed 突然变得疯狂几分钟,包含大量数据。这使得应用程序执行大量计算,导致 CPU 峰值达到 100%,并引发各种其他问题。我无法预测这些繁忙时间,也无法在测试设置中真正复制它。由于这些原因,我很难分析这些峰值。

我不是 Node 专家,但我尝试使用该node --prof标志,后跟该--prof-process标志(在 3GBisolate-0x321c640-v8.log文件上)来分析该应用程序。这没什么问题,但问题是,如果我这样做,我会分析它运行的整个时间,而不是它运行的高流量部分。

我检查了该isolate-0x321c640-v8.log文件(请参阅下面的摘录),希望在每一行上都有某种时间戳,以便我可以隔离我感兴趣的时间,但我在那里找不到类似的内容。

tick,0x8ad1f58c24,26726463388,0,0x3fedc8b5859026ea,0,0x8ad76332f8,0x8ad7619f68,0x84113fbe10b,0x8ad12fd54f,0x8ad734f837,0x8ad735192b,0x8ad59c2598,0x8ad59c9765
tick,0x8ad1f6d472,26726464443,0,0x3ff76afe21366278,0,0x8ad7633873,0x8ad7619f68,0x84113fbe10b,0x8ad12fd54f,0x8ad734f837,0x8ad735192b,0x8ad59c2598,0x8ad59c9765
tick,0x8ad1206bd5,26726465499,0,0x8ad1f58c40,0,0x8ad76332f8,0x8ad7619f68,0x84113fbe10b,0x8ad12fd54f,0x8ad734f837,0x8ad735192b,0x8ad59c2598,0x8ad59c9765
tick,0x8ad1f6d472,26726466552,0,0x400040d9bba74cfb,0,0x8ad763377d,0x8ad7619f68,0x84113fbe10b,0x8ad12fd54f,0x8ad734f837,0x8ad735192b,0x8ad59c2598,0x8ad59c9765
tick,0x8ad1f591fa,26726467615,0,0x3fe94cccccccccce,0,0x8ad7626638,0x8ad761c1d9,0x84113fbe10b,0x8ad12fd54f,0x8ad734f837,0x8ad735192b,0x8ad59c2598,0x8ad59c9765
tick,0x8ad1f6d472,26726468680,0,0x7ffcc894f270,0,0x8ad1f59054,0x8ad7626638,0x8ad761c1d9,0x84113fbe10b,0x8ad12fd54f,0x8ad734f837,0x8ad735192b,0x8ad59c2598,0x8ad59c9765
tick,0x8ad1f6d41c,26726469744,0,0x329ab68,0,0x8ad7626cc9,0x8ad761c1d9,0x84113fbe10b,0x8ad12fd54f,0x8ad734f837,0x8ad735192b,0x8ad59c2598,0x8ad59c9765
Run Code Online (Sandbox Code Playgroud)

有没有一种好方法可以在运行时分析这些特定时间?

javascript cpu profiling node.js

3
推荐指数
1
解决办法
1468
查看次数

标签 统计

node.js ×2

cpu ×1

javascript ×1

profiling ×1