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

时间:2018-01-22 18:46:49

标签: node.js profiling

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

我在使用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

 [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

这是什么意思?什么是应用程序花费所有时间?我怎样才能找到性能问题?

1 个答案:

答案 0 :(得分:1)

我建议尝试使用VTune放大器作为V8探测器的替代品。我能够识别并修复代码中耗时的地方。您可以下载免费试用版here,然后按此step-by-step instructions进行操作。希望它会对你有所帮助。