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 を有効にする方法について説明します。