監視するのに最適なASP.NETパフォーマンスカウンターは何ですか? [閉まっている]
-
03-07-2019 - |
質問
ASP.NETのperfmonで使用可能なカウンターのトラックがあります。開発者にフィードバックできるように、テスト環境で監視するのに最適な最高のもの(5〜10を選択することを考えています)。
リクエスト時間、リクエストキューの長さ、アクティブなセッションなどのことを考えています。
解決
通常の(パフォーマンス/ストレステストではない)場合は、次の方法で問題ありません。
- リクエストバイトの合計(特にWeb(イントラネットではない)アプリケーションにとって非常に重要)
- リクエストが失敗しました
- リクエスト/秒
- 実行中のエラー
- 実行中に処理されないエラー
- セッションSQL Server接続総数
- ステートサーバーセッションがアクティブ
パフォーマンステストには、おそらく次のようなものが必要です。
- %CPU Utilization (CPU使用率が非常に低いことを確認し、何かが死んでいることを示す可能性があることを確認してください)
- リクエストはキューに入れられました
- キャッシュヒットの出力
他のヒント
最もよく使用するのはメモリカウンターです。それらのすべて。 ASP.NETに固有のものではないことは知っていますが、Webアプリでこれまでに経験した唯一の問題はメモリの問題でした。
GCでの過剰なヒープ、gen 2コレクション、%時間は最も重要なものです。 GCの時間が制御不能になっている場合は、UIとビューステートが大きすぎることを示しています。大きなヒープと多数のgen 2コレクションは、メモリ内に多くのものを保持していることを示しています(たとえば、インプロセスセッション状態)。
Webコントロールに基づく通常のASP.NETアプリでは、ページが再構築されて破棄されるため、多くのオブジェクトを作成してすぐに破棄する必要があります。高gen0コレクションは悪くありません。たくさんのオブジェクトを見始めたら、それをgen1に入れ、次にgen2に入れます。これは、メモリをリークしているか、状態を保持しすぎていることを示唆しています。
複数のASP.NETアプリケーションプールを実行する場合は、メモリカウンターに注意してください で問題を確認してください。 http://blog.dynatrace.com/2009/02/27/can-you-trust-your-net-heap-performance-counters/