了解v8/Node.js评测报告
我试图在Node.js中使用了解v8/Node.js评测报告,node.js,profiling,v8,Node.js,Profiling,V8,我试图在Node.js中使用--prof选项。因此,在linux tick processor之后,我得到以下报告: [Shared libraries]: ticks total nonlib name 20736 94.8% 0.0% b78a5000-b78a6000 574 2.6% 0.0% /usr/lib/libv8.so.3.4.14.21 117 0.5% 0.0% /usr/bin/node
--prof
选项。因此,在linux tick processor之后,我得到以下报告:
[Shared libraries]:
ticks total nonlib name
20736 94.8% 0.0% b78a5000-b78a6000
574 2.6% 0.0% /usr/lib/libv8.so.3.4.14.21
117 0.5% 0.0% /usr/bin/node
62 0.3% 0.0% /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
1 0.0% 0.0% /lib/i386-linux-gnu/ld-2.13.so
[JavaScript]:
ticks total nonlib name
3 0.0% 0.8% Stub: StringAddStub
3 0.0% 0.8% Builtin: A builtin from the snapshot {1}
...
ticks parent name
20736 94.8% b78a5000-b78a6000
574 2.6% /usr/lib/libv8.so.3.4.14.21
94 16.4% Function: ~QueryCommand.toBinary /storage/hoc/nodejs/lib/mongodb/commands/query_command.js:37
94 100.0% Function: ~Connection.send /storage/hoc/nodejs/lib/mongodb/connection.js:353
94 100.0% Function: ~Db.executeCommand /storage/hoc/nodejs/lib/mongodb/db.js:629
...
什么是b78a5000-b78a6000
?此行中的数字在每次运行时都不同
列
total
,nonlib
,parent
是什么意思?我在上面找不到文档。我猜这个问题现在已经过时了。我还对分析我的节点应用程序感兴趣,但不再有--prof
开关(它似乎获得了粗糙的信息)
如果使用Unix(如Solaris),请查找
dtrace
和flamegraph
。非常详细的分析。不幸的是,我无法使用它,因为我运行Linux(Ubuntu),而原始的dtrace
尚未正确移植。b78a5000-b78a6000是VDSO。linux tick处理器没有问题。谢谢通知。我也在使用Linux,但问题并没有得到解决(由于性能原因,项目仍然处于冻结状态)。它认为应该有另一种解决办法。此外,我还尝试了nanotime
进行评测。这足以确定问题超出了我的代码范围。现在有了。在12.10
或其他版本之前,它不是Ubuntu中预编译二进制文件的一部分。