我正在使用在某些负载下遇到性能问题的节点应用程序。我正在尝试使用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
这是什么意思?什么是应用程序花费所有时间?我怎样才能找到性能问题?
答案 0 :(得分:1)
我建议尝试使用VTune放大器作为V8探测器的替代品。我能够识别并修复代码中耗时的地方。您可以下载免费试用版here,然后按此step-by-step instructions进行操作。希望它会对你有所帮助。