7

サーバー側 (ノード プロセス) の Meteor アプリケーションが許容範囲をはるかに超えて CPU を使用しているため、調査したいと考えています。

2 つの同時クライアントは、CPU の 100% を使用するノードをリードしています。これはおそらくobserversの大量使用に関連していますが、アプリケーション全体を変更する前にさらに調査する必要があります.

では、プロファイリングにはどのツールを使用できますか? それの使い方?

4

5 に答える 5

4

私が見つけた最良の解決策はv8-profiler (およびnode-inspector ) です。

インストール

  1. に進み[Meteor installation folder]/dev_bundle/lib/node_modulesます。

  2. そこに実行$ npm install v8-profilerします。

  3. サーバー コードを追加します。

Meteor.startup(function() {
  profiler = __meteor_bootstrap__.require("v8-profiler")
  Meteor._debug("Server started!");
});

使用する

  • アプリ サーバー コードのどこでも、この方法でプロファイリングできます。

    profiler.startProfiling("name");                   //begin cpu profiling
    yourCode();
    var cpuProfile = profiler.stopProfiling("name");   //finish cpu profiling
    
  • 実行することを忘れないでくださいnode-inspector

于 2013-03-12T19:01:19.620 に答える
3

また、Meteor-specific Observatoryもご覧ください。これは強力なサーバー側およびクライアント側のロギング パッケージであり、任意の関数のプロファイリングをサポートし、「テンプレート ライフサイクル メソッド、コレクション メソッド (現在サポートされているのは find のみ)、およびサブスクリプション プロファイリングの自動ロギング」です。

于 2012-11-15T18:36:42.430 に答える
3

APM (Application Performance Monitoring ) は、MeteorHacks で有名なArunoda Susiripalaによって開発された Meteorパッケージ+ クラウド サービスです。現在はベータ版で、非常に有望に見えます。

通話

[コストのかかる呼び出し] タブから、メソッドにドリルダウンして、最も時間がかかるメソッドを特定できます。

スクリーンショット

この 1 分間のチュートリアル ビデオでは、コストのかかるメソッドの識別が示されています。

その他のスクリーンショット

より多くのスクリーンショット

于 2014-03-07T14:52:12.770 に答える
2

NodeTimeは非常に優れたプロファイリング サービスです。これは無料で使用でき、特にあなたのような状況で役に立ち、セットアップも非常に簡単です!

于 2012-11-15T17:11:49.247 に答える