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 分間ランダムに実行されます。 Profiler が実行されているとき、サーバーには 5 ~ 15 % の CPU オーバーヘッドが追加されます。

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

現在プレビュー段階にある Azure Monitor アプリケーション インサイト用の Java Profiler を使用することもできます。

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

制限事項

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

次のステップ

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