1

ASP.NET (C# 2.0) Metrics クラスを作成して、運用 Web アプリケーションのパフォーマンスを監視できるようにしたいと考えています。私は 2.0 ヘルス モニタリングにある程度精通していますが、それは私が探しているものではありません (とにかくそうは思いません)。ログやイベントのリストではなく、スナップショットを表示できるダッシュボードが必要です。コミュニティからのフィードバックをお待ちしております。したがって、具体的な回答がなくても、任意の部分に自由に意見を追加してください。全体について意見を述べる必要はありません。前もって感謝します!

以下は、私が監視したいいくつかのことです。値は、IIS ではなく、アプリケーションに固有のものである必要があります。

  1. 開いているセッションの数
  2. 1 時間あたりのヒット数
  3. 最も古いセッション
  4. 割り当てられたメモリの量と使用量
  5. **各 (または特定の) 関数で費やされた平均実行時間。
  6. 最後の例外 (処理済みまたは未処理)
  7. 帯域幅の使用率 (アプリケーション レベルでも可能ですか?)

**5 番目については、ある種のストップウォッチ クラスを使用することを考えていました。監視したい各関数は、実行の開始と終了時に start/stop を呼び出します。しかし、それは私にはひどく醜いようです。ストップウォッチクラスなしでこれを行う方法はありますか? Reflections クラスの何かがこれを助けることができますか?

このようなものはすでに存在しますか?かなりの量のグーグルを実行しましたが、探しているものを正確に見つけることができません。

私が見るべき他の指標をお勧めできますか?

4

3 に答える 3

1

探しているものの多くは、Windows パフォーマンス カウンターでキャプチャできるようです。ダッシュボード ページからそれらを読み取り、HTML で表示できます。

アプリ固有のデータ用にカスタム カウンターを作成することもできます。私のお気に入りの 1 つは、アウト プロセス コールにかかる時間を測定し、事前に設定されたしきい値を超えた回数をカウントして、パフォーマンスの問題やリグレッションを探すことです。

于 2010-01-04T20:31:49.037 に答える
1

この情報のほとんどを取得するには、Windows パフォーマンス カウンターを読み取ることができるはずです。アプリケーション レベルでの帯域幅の使用は困難です。帯域幅を追跡するために、一種のカウンターをアプリケーションに組み込むことになりました。スタックを下に移動することで、より効率的に実行できると確信していますが、とにかく迅速で汚いものが必要でした。

于 2010-01-04T20:30:27.527 に答える
1

NewRelicという製品 (サービス?) を試してみてください。私は決して彼らと提携していませんが、彼らのサービスは本当に素晴らしく、使い始めるために使用できる無料利用枠があります.

于 2011-01-24T22:08:55.830 に答える