Node.jsを使用しています8.3。私はnode --prof server.js
を使用して私のアプリをプロファイルします。 xxxx -v8.logのような名前のファイルがあります。MacでNode.jsプロファイルファイルを分析するには?
https://www.npmjs.com/package/node-tick-processorとhttps://github.com/sidorares/node-tickを使ってファイルを解析しようとしました。私はCPUプロファイルを見ることに興味があります。
しかし、出力が非常に参考にされていない、このようなものです:
[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
65591 59.5% /usr/lib/system/libsystem_kernel.dylib
42621 65.0% /usr/local/bin/node
16632 15.1% /usr/local/bin/node
5544 33.3% /usr/local/bin/node
5888 5.3% /usr/lib/system/libsystem_c.dylib
5875 99.8% /usr/local/bin/node
2702 2.4% /usr/lib/system/libsystem_pthread.dylib
2284 84.5% /usr/local/bin/node
[Top down (heavy) profile]:
Note: callees occupying less than 0.1% are not shown.
inclusive self name
ticks total ticks total
68106 61.7% 11088 10.1% /usr/local/bin/node
42617 38.6% 42617 38.6% /usr/lib/system/libsystem_kernel.dylib
5875 5.3% 5875 5.3% /usr/lib/system/libsystem_c.dylib
5548 5.0% 5538 5.0% /usr/local/bin/node
2284 2.1% 2284 2.1% /usr/lib/system/libsystem_pthread.dylib
337 0.3% 337 0.3% /usr/lib/system/libsystem_platform.dylib
303 0.3% 303 0.3% /usr/lib/system/libsystem_malloc.dylib
22970 20.8% 22970 20.8% /usr/lib/system/libsystem_kernel.dylib
418 0.4% 418 0.4% /usr/lib/system/libsystem_pthread.dylib
は、出力ファイルを分析するための他のツールはありますか?私はボトルネック機能を示すものを見たり、少なくとも私の行番号を見つけたいと思っています。私はv8-profiler
を試して、その出力ファイルをChromeの開発ツールに読み込む必要があります。しかし、フォーマットは異なって見えます。 -v8.log
ファイルを解析できるかどうかはわかりません。
プロフィールに基づいてアプリの掲載結果を改善することはできませんか?私はNodeの専門家ではない。このCPU使用率は、おそらく、V8エンジンに直接アクセスできるNode.jsメソッドを使用する上で不適切なことを行うことによって引き起こされる可能性があります。私は今諦めている。この段階で私のアプリを改善する方法を見ることができません。 – newguy
あまりにも早く放棄しないでください!ティックプロセッサーに '-j'フラグを使い、JSプロファイルがハイライト表示され、VM、コンパイラー、その他のランタイム状態が破棄されていることを確認してください。 –
ありがとうございますが、 'node-tick-processor'や 'node-tick'に' -j'オプションがありません。正しく使用する方法がわかりません。また、変更する必要がある機能がCPUの0.1%未満を占めている場合は、それを改善し続けることは意味がありません。実際の犯人を私の目の前から隠しているトリックがない限り。 – newguy