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 つだけです。
- Linux 上の Profiler は、Windows ベースの Web アプリでのみサポートされます。
次のステップ
お使いの Azure サービスで Profiler を有効にする方法について説明します。