分析节点应用程序:大部分时间花在节点本身上

jno*_*hco 7 profiling node.js

我正在使用在某些负载下遇到性能问题的节点应用程序。我正在尝试使用 V8 分析器找出问题所在,基本上遵循本指南

我在问题加载期间使用 生成了一个日志文件node --prof app.js,并使用node --prof-process isolate-0xnnnnnnnnnnnn-v8.log > processed.txt. 这一切似乎都运行良好,但似乎几乎所有的滴答声都花在了节点可执行文件本身中:

 [Summary]:
   ticks  total  nonlib   name
   3887    5.8%   38.2%  JavaScript
   5590    8.4%   55.0%  C++
    346    0.5%    3.4%  GC
  56296   84.7%          Shared libraries
    689    1.0%          Unaccounted
Run Code Online (Sandbox Code Playgroud)

和:

 [Shared libraries]:
   ticks  total  nonlib   name
  55990   84.2%          /usr/bin/node
    225    0.3%          /lib/x86_64-linux-gnu/libc-2.19.so
     68    0.1%          /lib/x86_64-linux-gnu/libpthread-2.19.so
      7    0.0%          /lib/x86_64-linux-gnu/libm-2.19.so
      4    0.0%          [vdso]
      2    0.0%          /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
Run Code Online (Sandbox Code Playgroud)

这是什么意思?应用程序花费所有时间做什么?如何找到性能问题?

小智 0

我建议尝试 VTune Amplifier 作为 V8 分析器的替代品。我能够识别并修复代码中耗时的地方。您可以在此处下载免费试用版,然后按照此分步说明进行操作。希望它能帮助你。