1

運用環境で、w3wp.exe プロセス内で最大のメモリ負荷を引き起こしている Asp.Net http 要求 (aspx、asmx、またはカスタム) をどのように検出できますか? ここでメモリリークを意味するわけではありません。これは、すべてのオブジェクトを適切に処理する、健全なアプリケーションです。Microsoft の世代別 GC は正常に動作します。ただし、一部のリクエストでは、w3wp プロセスのメモリ フットプリントが大幅に増加しますが、それはリクエストの実行中のみです。

最もメモリを消費する「ページ」について開発部門に定期的に報告し、その (メモリ) プレッシャーをそれが属する場所に戻すには、SAAS アプリの運用環境のコスト効率とスケーラビリティの問題にすぎません。 、 いわば。

次のようなものはないようです:
HttpContext.Request.PeakPrivateBytes または .CurrentPrivateBytes
または
Session.PeakPrivateBytes

4

3 に答える 3

2

パフォーマンス モニターなどのツールを使用して、W3WP.exe プロセスの "Process\Working Set" を監視し、それをデータベースに記録することができます。その後、IIS サーバーの HTTP ログに関連付けることができます。

Perfmon データと HTTP ログの両方を SQL データベースに書き込むと役立ちます。次に、T-SQL を使用して、観測されたメモリ プレッシャーの前後の日付/時刻で要求されたページを表示できます。必要に応じて、DatePart 関数を使用して、希望する秒または分の精度に丸められた日付/時刻を作成します。

お役に立てれば。

ありがとう - グレン

于 2009-11-13T14:14:26.940 に答える
0

セッション状態を使用している場合InProc、すべてのセッション データは w3wp のメモリに保存され、それが増大する原因となる可能性があります。

于 2009-10-22T23:45:45.480 に答える
0

私はそれについて心配しません。リクエスト中に GC が発生しており、CLR がメモリを割り当てて物事を移動している可能性があります。または、ASPNET に付随するその他の定期的なサービスの可能性もあります。

ジェネレーション 0、1、2 の GC イベントなどのパフォーマンス カウンター分析を行う準備ができていない限り、この「問題」の解決について心配する必要はありません。

とにかく、それは問題ではないように思えます - ただの好奇心です。

于 2009-10-22T23:46:00.850 に答える