采用100%CPU的节点API,节点刻度处理器输出看起来很神秘

我有一个节点API通常处理stream量相当好。 然而,在我们的高峰时期,它进入了开始使用100%CPU并需要重新启动的状态。 重新启动后,在接下来的几天内将恢复正常状态。

使用负载testing网站,我已经能够重现这个问题。 我负载testing的请求非常简单,所以我担心这个问题出现在我正在使用的第三方库中。

我是新来debugging节点,我不知道如何从node-tick-processor输出以下内容。 任何人都可以破译这个?

更新:我正在运行节点v0.10.4

[Unknown]: ticks total nonlib name 5 0.0% [Shared libraries]: ticks total nonlib name 11943 49.1% 0.0% /lib64/libc-2.12.so 10754 44.2% 0.0% /usr/local/bin/node 314 1.3% 0.0% /lib64/libpthread-2.12.so 50 0.2% 0.0% 7fff318b4000-7fff318b5000 5 0.0% 0.0% /lib64/libm-2.12.so 3 0.0% 0.0% /usr/lib64/libstdc++.so.6.0.17 [JavaScript]: ticks total nonlib name 40 0.2% 3.2% LazyCompile: ~read tls.js:397 36 0.1% 2.8% LazyCompile: *EventEmitter.addListener events.js:126 29 0.1% 2.3% LazyCompile: *Readable.read _stream_readable.js:226 <clipped> [Bottom up (heavy) profile]: Note: percentage shows a share of a particular caller in the total amount of its parent calls. Callers occupying less than 2.0% are not shown. ticks parent name 11943 49.1% /lib64/libc-2.12.so 10754 44.2% /usr/local/bin/node 8270 76.9% LazyCompile: *use tls.js:222 5162 62.4% LazyCompile: ~read tls.js:397 5074 98.3% LazyCompile: *Readable.read _stream_readable.js:226 3396 66.9% LazyCompile: ~write tls.js:315 3396 100.0% LazyCompile: *Writable.write _stream_writable.js:155 1063 20.9% LazyCompile: *write tls.js:315 1063 100.0% LazyCompile: *Writable.write _stream_writable.js:155 370 7.3% LazyCompile: *Writable.write _stream_writable.js:155 370 100.0% LazyCompile: ~write _stream_readable.js:546 186 3.7% LazyCompile: ~callback tls.js:753 180 96.8% LazyCompile: *onclienthello tls.js:748 6 3.2% LazyCompile: ~onclienthello tls.js:748 2417 29.2% LazyCompile: *read tls.js:397 2417 100.0% LazyCompile: *Readable.read _stream_readable.js:226 2320 96.0% LazyCompile: *Writable.write _stream_writable.js:155 2315 99.8% LazyCompile: ~write _stream_readable.js:546 57 2.4% LazyCompile: ~callback tls.js:753 57 100.0% LazyCompile: *onclienthello tls.js:748 691 8.4% LazyCompile: *Readable.read _stream_readable.js:226 675 97.7% LazyCompile: *write tls.js:315 675 100.0% LazyCompile: *Writable.write _stream_writable.js:155 674 99.9% LazyCompile: ~write _stream_readable.js:546 

对于那些还在这里的人来说,这是在系统节点模块中的SSL处理代码中的某处引起的。 我重新configuration我的堆栈在nginx上执行SSL终止,并在节点级别使用基本的HTTP处理,这个问题完全消失了。