dotTrace 2025.3 ヘルプ

IIS サーバー上のプロファイル Web アプリケーション

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

長所

機能

ローカルプロファイリング

  • 簡単な設定 / 使用: dotTrace の GUI を使ってプロファイルを作成します

  • dotTrace をサーバーにインストールして実行する必要があります。これは、セキュリティの制限や GUI の不在などの理由で不可能な場合があります。

コマンドラインプロファイラーによるプロファイリング

  • ネットワーク通信は必要ありません

  • あらかじめ定義された多数のプロファイル設定を作成し、必要に応じて実行する機能

  • コマンドラインプロファイラーはサーバーにコピーしてサーバー上で実行する必要があります

  • 結果として得られるスナップショットは、dotTrace を使用してサーバーからマシンに手動でコピーする必要があります。

ローカルプロファイリング

Local profiling

通常、ローカルプロファイリングは、(開発者の)マシンまたはセキュリティ / パフォーマンス制限を課さないテスト環境でホストされているアプリケーションをプロファイルする必要がある場合に使用されます。

IIS サーバー上にホストされている Web アプリケーションをローカルでプロファイルするには

  1. サーバーに dotTrace をインストールします。

  2. 管理者に代わってスタンドアロンアプリケーションとして dotTrace を実行する。dotTrace ホームウィンドウが開きます。

  3. 実行構成を追加します。プロファイルされたアプリケーションの実行方法を dotTrace に指示する構成:

    1. プロファイルするものを選択する新しいプロセスの実行で、Add run configuration 実行構成を追加するをクリックします。

    2. 新規実行構成ウィザードで、IIS を選択し、次へをクリックします。

    3. URL を開くで、プロファイルされたアプリケーションの URL を指定します。これを行わないと、dotTrace は、最初に実行中のアプリケーションプールのプロファイリングを開始します。

    4. オプションで、ブラウザーで、dotTrace が URL を開くために使用するブラウザーを指定します。

    5. オプションで、環境変数を設定するで、必要な環境変数を指定します。各変数は新しい行で指定する必要があります。

    6. 保存をクリックします。

  4. 作成した実行構成が新しいプロセスの実行リストで選択されていることを確認してください。

  5. プロファイルする方法を選択するで、プロファイリングオプションを指定します。

    • プロファイリングタイプ : 通常、サンプリング (パフォーマンスを評価し、アプリで最も遅いメソッドを決定する) とタイムライン (サンプリングと同じですが、タイムラインデータが追加されます) のいずれかを選択する必要があります。プロファイリングタイプの詳細

    • 必要に応じて、他のプロファイリングオプションを指定します。

  6. セッションの開始直後に dotTrace でプロファイリングデータの収集を開始する場合は、プロファイリングを実行する最初からプロファイリングデータを収集するを選択します。

  7. 開始をクリックします。これにより、プロファイリングセッションが開始されます。

  8. アプリケーションで特定のワークフローを実行するか(パフォーマンスを評価する場合)、特定のパフォーマンスの問題を再現します。プロファイリングコントローラーウィンドウのスナップショットを取得するボタンを使用してスナップショットを収集します。プロファイリングセッションを制御する方法の詳細

  9. データを収集したら、プロファイリングされたアプリケーションを閉じるか、コントローラーウィンドウの切り離すボタンを使用してプロファイラーをデタッチします。

  10. dotTrace Viewer を使用して、収集したスナップショットを分析します。

コマンドラインプロファイラーによるプロファイリング

Profiling with console tool

コマンドラインプロファイラーは、プロファイリングを自動化する必要がある場合 (たとえば、アプリケーションのプロファイリングを時々行う場合など) に最適です。もう 1 つの考えられるシナリオは、自分がサーバーにアクセスできないが、他の人がアクセスできる場合です。そのため、プロファイリングツールとバッチファイルを提供できます。

どのように機能するのでしょうか ? つまり、コマンドラインプロファイラーをサーバーにコピーし、プロファイリング中にアプリを実行するか (アプリプールが再起動されます)、実行中のアプリケーションプール w3wp.exe にツールをアタッチします。

コマンドラインプロファイラーを使用して IIS サーバー上の Web アプリをプロファイリングするには

  1. dotTrace.exe ツールを使用して zip アーカイブをダウンロードし、サーバーにコピー / 解凍します。

  2. ここで、アプリケーションをホストするアプリケーションプールのプロファイリングを開始する必要があります。すでに実行中のアプリプールに接続するか、プロファイリングで新しいアプリプールを開始できます。新しいものを開始しても、アタッチするよりも利点はありません。そのため、後者についてのみ説明します(詳細については、dotTrace コマンドラインプロファイラーの操作を参照してください)。

    dotTrace.exe を実行中のアプリプールにアタッチするには:

    dotTrace.exe attach 1234 --save-to=snapshot.dtp

    1234 は、対応する w3wp.exe プロセスのプロセス ID です。

  3. パフォーマンスのスナップショットを作成する場合、次の 2 つのオプションがあります。

    1. タイムアウトでスナップショットを取得する:

      dotTrace.exe attach 1234 --save-to=snapshot.dtp --timeout=5m

      ここでスナップショットは 5 分後に取得され、その後プロファイラはプロセスから切り離されます。

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

      Get snapshot on process exit
  4. 結果のスナップショットを dotTrace がインストールされているコンピューターにコピーし、dotTrace Viewer で分析します。

    スナップショットに大量のネイティブコードが含まれているのは正常であることに注意してください。

2024 年 5 月 26 日