0

大量のメモリを使用するデフォルトのアプリケーションプールでWebアプリケーションを識別する方法は?

編集 私のアプリケーションプールには多くのアプリが含まれていますが、それらを分離または停止することはできません。マルチアプリケーションアプリケーションプール内の特定のアプリケーションにどのリソースが使用されているかを知ることができますか?

4

3 に答える 3

1

過去にも、複数のアプリケーションプールを実行しているWebサーバーに対してこれを行う必要がありました。この記事のとおり:「特定のw3wp.exeプロセスに関連付けられているアプリケーションプールを特定する必要がある場合は、管理コマンドプロンプトを開き、%windir%\ System32 \ inetsrvフォルダー(cd%windir%\ System32 \ inetsrv)に切り替えます。 )そしてappcmd list wpを実行します。これにより、w3wp.exeプロセスのプロセス識別子(PID)が引用符で囲まれます。そのPIDをタスクマネージャーで使用可能なPIDと一致させることができます。」

これはまさに私がしたことです。

于 2012-05-23T18:14:58.247 に答える
1

パフォーマンスモニターを使用して実行し、開いてから[カウンターの追加]をクリックし、[Asp.Netアプリケーション]または[ASP.Netアプリvx.xxxxx]を選択して、カウンターを選択します。

于 2012-05-23T19:17:39.123 に答える
1

IISでは、1つのアプリプールを共有する複数のWebアプリがある場合、w3wp.exeプロセスによって各Webサイトが独自のAppDomainに分離されると思います。.NET 4を使用している場合、AppDomainごとに読み取ることができるパフォーマンスメトリックがいくつかあるようです。

これは、アプリケーションにコードを追加して、独自のAppDomainの統計をダンプし、それを集計してレポートできる可能性があることを意味します。

私はこれを自分で試したことがありませんが、それが役立つかもしれないようです...


これを行うための本当に簡単な形式は、あなたのApplication_Start()メソッドで設定することかもしれませんAppDomain.MonitoringIsEnabled = true;

次に、ラベルにダンプする「stats.aspx」ページとAppDomain.CurrentDomain.MonitoringTotalProcessorTimeその他の統計情報を用意します。

于 2012-05-23T19:22:30.123 に答える