8

私のウェブサイトCompassionPit.comは Node.js を利用しています。ソースコードを公開しました。GitHub でホストされています。アプリ自体は、768MB の RAM を搭載した Linode で実行されています (最近サーバーをアップグレードしました。512MB でした)。

最近、Linode から CPU 使用率の通知を受け取りました。90% 以上の使用率になることが増えています。CPU リソースへのアクセスをアップグレードするために何ができるかを確認するために Linode に電話しましたが、100% まで最大にすると、次の 3 つのコアにスピルオーバーできるため、今のところ問題ないようです (Linode は 4 プロセッサ Xen です)。インスタンス)。

Node アプリをプロファイリングして、メモリと CPU リソースを使い果たしている場所を確認するにはどうすればよいですか? すぐにアプリケーションを再構築して、複数サーバーのセットアップで実行する必要があると予測していますが、適切なプロファイリングがより賢明なアーキテクチャの決定につながると直感的に信じています。私が間違っている場合は、私を修正してください。

4

3 に答える 3

3

バージョン 0.6.x 以降では、ノード インスペクターがノードをプロファイリングできません

次のプラグインは、v8 の新しいバージョン (ノード 0.7.x +) で動作するように更新されました。nodetime.com 以外でまだ機能しているのはこれだけです。実際の webkit デバッガーを使用します。

https://github.com/c4milo/node-webkit-agent

また、非常に明確な指示もあります。

于 2012-10-12T18:24:09.213 に答える
1

v6.3.0 以降、を実行できるよう node --inspect your_script.jsになりました。

Node は URL をコンソールに出力します。これは Chrome で開くことができます。これにより、Node プロセスのプロファイリングに使用できる完全に機能する Web インスペクターが表示されます。

Runnode --inspect --debug-brkを実行すると、すぐに実行が一時停止されます (これは、アプリケーションの開始直後にプロファイリング セッションを開始する必要がある場合に便利です)。

于 2016-11-02T22:02:56.223 に答える
1

プロファイリングにhttps://github.com/dannycoates/node-inspectorを使用して、かなりの成功を収めました。README ファイルの下部にセットアップ ガイドがあります。

Node.js の以降のバージョンでは、node-inspector のプロファイリング部分が機能しなくなりました。以下の回答で述べたように、--prof( http://code.google.com/p/v8/wiki/V8Profiler ) とhttps://github.com/c4milo/node-webkit-agentでかなりの成功を収めました。

于 2011-09-05T08:45:07.877 に答える