21

Linux でスクリプトの実行時間を正確にNode.JS プロファイリングする方法を探しています。

NodeTime.com Performance Profilerのような興味深いプロジェクトがありますが、これはコード行の実行時間ではなく、I/O httprequest などのタイミングをプロファイルします。

Javascript を最適化できる場所、ほとんどの時間が費やされている場所などを正確に把握する方法を探しています。


私が見た興味深い方法の 1 つは、DTraceを使用して Node.JS をプロファイリングする FlameGraph を作成しようとすることです。

ただし、dtrace非常に Solaris 固有です。

  • Linux (Debian/Ubuntu) の場合、パッケージdtraceに含まれています。sytemtap-sdt-devただし、stap dtrace同じではなく、関連するすべてのフック/プローブがありません。
  • Paul Fox が Unix 版から移植しました。より完全な機能ですが、どういうわけか、フック/プローブはユーザー空間で Solaris のように機能せず、ノードのプロファイルにも使用できません。
    ftp://crisp.dyndns-server.com/pub/release/website/dtrace/ (ビルドは非常に簡単です。README を参照してください。)
  • Oracleポートもありますが、誰もお勧めしません。どうやら、Paul Fox ポートのプローブの約 0.1% しかありません。(皮肉なことOracleに、以前はforSunの元の作者だったので)dtraceSolaris

Linux で、ターミナルまたは Eclipse を使用して、Node.JS スクリプトのコードをプロファイルするにはどうすればよいですか? Zend Profiler が PHP スクリプトのコード内の各コマンドの実行時間を表示するなど、特定のものを探しています。

4

3 に答える 3

8

「look」は、NodeJS アプリのプロファイリング用に Vadim によって作成された非常に優れたツールです。

ここを見てください:

https://github.com/baryshev/look

于 2013-06-20T18:43:32.353 に答える
7

nodetimeの使用に反対していない場合、実際には CPU プロファイリングがあります。

参照: http://nodetime.com/blog/cpu-profiling-with-nodetime

ここに画像の説明を入力

于 2012-10-30T16:38:01.057 に答える
1

https://www.npmjs.org/package/node.profiler まさに必要なもの...プロジェクトをモニターモードで実行し、関数の詳細が完了したら、呼び出された回数ごとにグラフを生成しますそしてそこで過ごした時間。

于 2014-11-20T15:28:46.000 に答える