次の方法で共有


Application Insights Profiler を使用した Azure のプロファイル運用アプリケーション

アプリケーションのパフォーマンスに関する問題の診断は、特にダイナミック クラウド内の運用環境で実行されている場合には、困難になることがあります。 アプリケーションの応答が遅いのは、インフラストラクチャ、フレームワーク、またはパイプライン内の要求を処理するアプリケーション コードに原因があるかもしれません。

Application Insights Profiler を使用すると、シナリオに関係なく、Azure で実行されているアプリケーションのパフォーマンス トレースをキャプチャ、識別、および表示できます。 この Profiler トレース プロセスは規模に応じて自動的に行われ、ユーザーに悪影響を与えることはありません。 Profiler は次の情報を識別します。

  • 顧客が行った各 Web 要求に対する応答時間の中央値、最速時間、最も遅かった時間。
  • "ホットな" コード パスは特定の Web 要求の処理に最も長い時間を費やしています。

すべての Azure アプリケーションで Profiler を有効にして、次のトリガーを使用してデータを収集します。

  • サンプリング トリガー: 1 時間に約 1 回、Profiler を 2 分間ランダムに起動します。
  • CPU トリガー: CPU 使用率が 80% を超えると Profiler を起動します。
  • メモリ トリガー: メモリ使用量が 80% を超えると Profiler を起動します。

これらの各トリガーは、構成、有効化、無効化することができます。

サンプリング レートとオーバーヘッド

アプリケーションで Profiler が有効化されている場合、そのホストである各仮想マシン上で、Profiler が 1 時間に 2 分間ランダムに実行されます。

Note

Profiler がアクティブに実行されてトレースを収集しているとき、通常 5% から 15% の間の CPU とメモリのオーバーヘッドがサーバーに付加されます。

Profiler によってキャプチャされたデータを保存するための追加コストはありません。 データは 15 日後に自動的に削除されます。

Profiler でのサポート

Profiler は、以下の Azure サービスにデプロイされた .Net アプリケーションと連携します。 各種サービスに Profiler を有効にする具体的な手順については、以下のリンクを参照してください。

コンピューティング プラットフォーム .NET (>= 4.6) .NET Core
Azure App Service はい はい
Azure Virtual Machines と Virtual Machine Scale Sets (Windows) はい はい
Azure Virtual Machines と Virtual Machine Scale Sets (Linux) いいえ はい
Azure Cloud Services はい はい
Windows 用 Azure Container Instances いいえ はい
Linux 用 Azure Container Instances いいえ はい
Kubernetes いいえ はい
Azure Functions はい はい
Azure Service Fabric はい はい

Note

Java Profiler for Azure Monitor Application Insights (現在プレビュー段階) も使用できます。

Profiler を有効にして、トレースが表示されない場合は、トラブルシューティング ガイドを参照してください。

制限事項

  • データ保有: 既定のデータ保有期間は 5 日です。
  • Web アプリのプロファイル:
    • Profiler は追加コストなしで使用できますが、Web アプリは少なくとも Azure App Service の Web Apps 機能の Basic レベルでホストされている必要があります。
    • 各 Web アプリにアタッチできるプロファイラーは 1 つだけです。

次のステップ

お使いの Azure サービスで Profiler を有効にする方法について説明します。