IIS サーバー上のプロファイル Web アプリケーション
通常、Web アプリケーションのパフォーマンスの問題を特定するには、アプリケーションがすでにサーバー上で実行されている必要があります。 次の表は、アプリケーションのプロファイリングに可能なすべてのオプションをまとめたものです。
長所 | 機能 | |
|---|---|---|
|
| |
|
|
ローカルプロファイリング

通常、ローカルプロファイリングは、(開発者の)マシンまたはセキュリティ / パフォーマンス制限を課さないテスト環境でホストされているアプリケーションをプロファイルする必要がある場合に使用されます。
IIS サーバー上にホストされている Web アプリケーションをローカルでプロファイルするには
dotTrace をサーバーにインストールします。
管理者として dotTrace をスタンドアロンアプリケーションとして実行します。 dotTrace ホーム ウィンドウが開きます。
実行構成を追加します ― プロファイルされたアプリケーションの実行方法を dotTrace に指示する構成です:
プロファイルするものを選択する、 新しいプロセスの実行 で、
実行構成の追加 をクリックします。新規実行構成 ウィザードで、 IIS を選択し、 次へ をクリックします。
URL を開く で、プロファイルされたアプリケーションの URL を指定します。 これを行わない場合、dotTrace は見つけた最初の実行中のアプリケーションプールのプロファイリングを開始します。
オプションで、 ブラウザーで で dotTrace が URL を開くために使用するブラウザーを指定できます。
オプションで、 環境変数を設定する で、必要な環境変数を指定します。 各変数は、新しい行で指定する必要があります。
保存 をクリックします。
作成した実行構成が 新しいプロセスの実行 リストで選択されていることを確認してください。
プロファイル方法を選択してください で、プロファイリングオプションを指定します。
プロファイリングタイプ: 通常、 ネイティブアプリケーションをプロファイリングする場合、サンプリング (パフォーマンスを評価し、アプリで最も遅いメソッドを決定する) と タイムライン (サンプリングと同じですが、タイムラインデータが追加されます) のいずれかを選択する必要があります。 プロファイリングタイプの詳細
必要に応じて、 他のプロファイリングオプションを指定します。
セッション開始直後に dotTrace でプロファイリングデータの収集を開始したい場合は、 プロファイリングを実行する で 最初からプロファイリングデータを収集する を選択してください。
開始 をクリックします。 これにより、プロファイリングセッションが開始されます。
アプリケーションで特定のワークフローを実行するか(パフォーマンスを評価する場合)、特定のパフォーマンスの問題を再現します。 プロファイリングコントローラーウィンドウの スナップショットを取得 ボタンを使用してスナップショットを収集します。 プロファイリングセッションを制御する方法の詳細
データを収集したら、プロファイリングされたアプリケーションを閉じるか、コントローラーウィンドウの デタッチ ボタンを使用してプロファイラーをデタッチします。
dotTrace Viewer を使用して、収集したスナップショットを分析します。
コマンドラインプロファイラーによるプロファイリング

プロファイリングを自動化する必要がある場合、たとえばアプリケーションのプロファイリングを定期的に行うには、コマンドラインプロファイラーが最適です。 別のシナリオとしては、サーバーへのアクセス権が自分になく他の誰かが持っている場合に、その人にプロファイリングツールとバッチファイルを渡すことが挙げられます。
どのように機能するのでしょうか ? つまり、コマンドラインプロファイラーをサーバーにコピーし、プロファイリング中にアプリを実行するか (アプリプールが再起動されます)、実行中のアプリケーションプール w3wp.exe にツールをアタッチします。
コマンドラインプロファイラーを使用して IIS サーバー上の Web アプリをプロファイリングするには
dotTrace.exe ツールを使用して zip アーカイブをダウンロードし、サーバーにコピー / 解凍します。
これで、アプリケーションをホストしているアプリケーションプールのプロファイリングを開始します。既に実行中のアプリケーションプールにアタッチするか、プロファイリング下で新しく開始することができます。 新しいものを開始してもアタッチするのに比べて特にメリットはないため、今回は後者のみ説明します(詳細は「dotTrace コマンドラインプロファイラーの使用」で確認できます)。
dotTrace.exe を実行中のアプリプールにアタッチするには:
dotTrace.exe attach 1234 --save-to=snapshot.dtp1234は、対応する w3wp.exe プロセスのプロセス ID です。パフォーマンスのスナップショットを作成する場合、次の 2 つのオプションがあります。
タイムアウトでスナップショットを取得する:
dotTrace.exe attach 1234 --save-to=snapshot.dtp --timeout=5mここでスナップショットは 5 分後に取得され、その後プロファイラはプロセスから切り離されます。

プロセス終了時にスナップショットを取得します。 dotTrace.exe ツールは、プロファイリングされたアプリケーションが正常に終了するとスナップショットを取得します(アプリが "kill" された場合、スナップショットは収集されません)。 これを実現するには、たとえば、IIS マネージャーの対応するアプリケーションプールを リサイクル にすることができます。

結果のスナップショットを dotTrace がインストールされているコンピューターにコピーし、 dotTrace ビューアー で分析します。
スナップショットに大量のネイティブコードが含まれているのは正常であることに注意してください。