dotMemory 2026.1 Help

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

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

長所

機能

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

  • 簡単な設定/使用: dotMemory GUI でプロファイリングできます

  • dotMemory をサーバーにインストールして実行する必要がありますが、セキュリティ制限や GUI がないため実行できない場合があります

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

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

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

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

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

メモリダンプ

  • サーバーに何もインストールする必要はありません

  • プロファイリングオーバーヘッドなし

  • メモリダンプには dotMemory スナップショットよりも少ないデータが含まれています

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

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

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

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

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

  2. dotMemory をスタンドアロンアプリケーションとして実行する。 dotMemory ホームウィンドウが開きます。

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

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

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

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

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

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

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

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

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

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

  7. アプリケーションで特定のワークフローを実行するか(潜在的なメモリの問題を確認する場合)、特定のメモリの問題を再現します。 スナップショットを取得 ボタンを使用してメモリスナップショットを収集します。 プロファイリングセッションを制御する方法の詳細

  8. データを収集したら、プロファイリングされたアプリケーションを閉じるか、 デタッチ ボタンを使用してプロファイラーをデタッチします。

  9. 収集したスナップショットを分析します

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

コンソールツールを使用したプロファイリング

プロファイリングを自動化する必要がある場合、たとえばアプリケーションのプロファイリングを定期的に行うには、コマンドラインプロファイラーが最適です。 別のシナリオとしては、サーバーへのアクセス権が自分になく他の誰かが持っている場合に、その人にプロファイリングツールとバッチファイルを渡すことが挙げられます。

どのように機能するのでしょうか ? つまり、コマンドラインプロファイラーをサーバーにコピーし、プロファイリング中にアプリを実行するか (アプリプールが再起動されます)、実行中のアプリケーションプール w3wp.exe にツールをアタッチします。 その後、特別なコマンドを標準入力に送信してスナップショットを取得できます。

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

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

  2. 現在、メモリスナップショットを取得するための 2 つのオプションがあります。

    1. dotMemory.exe を実行中のアプリケーションプールに接続して即座にスナップショットを取得します。

      dotMemory.exe get-snapshot 1234 --save-to-dir=C:\Snapshots

      1234 は、対応する w3wp.exe プロセスのプロセス ID です。
      ヒント :ID を取得するには、 IIS マネージャー で必要なサーバーを開きます。 ワーカープロセス ページで、実行中のワーカーとその ID のリストを確認できます

    2. プロファイリングでアプリケーションプールを実行します(プールがすでに実行されている場合は再起動されます)。

      dotMemory.exe start-iis --trigger-timer=30s --open-url=localhost/myapp --use-browser=Chrome

      ここで、 --open-url=localhost/myapp はアプリケーションの URL です。 アプリケーションプールを実行することを選択した場合、即座にスナップショットを取得することはできません。 代わりに、:

      • 条件ごとにスナップショットを取得する: たとえば、 --trigger-timer=30s が指定されている場合、スナップショットは 30 秒ごとに取得されます

      • stdin にコマンドを送信してスナップショットを取得する: ##dotMemory["get-snapshot"]

      • プロセス終了時にスナップショットを取得します (たとえば、IIS マネージャーの リサイクル アプリプール)

    dotMemory コマンドラインプロファイラーの操作の詳細については、「dotMemory コマンドラインプロファイラーを使用する 」を参照してください。

  3. 作成されたスナップショットを dotMemory がインストールされたコンピューターにコピーし、 スナップショットを分析します。

メモリダンプ

Dumps

何らかの理由でサードパーティ ツールのコピーや実行がサーバーで一切行えない場合どうすればよいでしょうか。 その場合の最終手段はメモリダンプです。 これはさまざまなツールで取得できますが、最もよく使われるのはタスクマネージャー(オペレーティングシステム付属)と Process Explorer です。

メモリダンプを使用して IIS サーバー上の Web アプリケーションをプロファイルするには

  1. サーバーで、タスクマネージャーまたは Process Explorer ツールを使用してメモリダンプを取ります。 タスクマネージャーで 32 ビットアプリケーションのダンプを作成するときは、 C:\Windows\SysWOW64\taskmgr.exe にあるツールの 32 ビットバージョンを必ず使用してください。

    Dumps
  2. 作成されたスナップショットを dotMemory がインストールされているコンピューターにコピーし、 インポートダンプ コマンドで開きます。

  3. スナップショットを分析します

Dumps
2026 年 6 月 12 日