コード最適化を使用してランタイムの動作を監視および分析する
Azure Application Insights の AI ベースのサービスであるコード最適化は、Application Insights Profiler for .NET と連携して、コード レベルで CPU とメモリ使用量のパフォーマンス問題を検出し、その修正方法に関する推奨事項を提供します。 コード最適化では、次の方法でこれらの CPU とメモリのボトルネックが識別されます。
- アプリケーションのランタイム動作を分析する。
- 動作とパフォーマンス エンジニアリングのベスト プラクティスを比較する。
運用環境から収集されたリアルタイムのパフォーマンス データと分析情報を使用し、情報を得た上で意思決定し、コードを最適化します。
デモ ビデオ
コード最適化を使用するための要件
アプリケーションでコード最適化を使用するには、その前に以下を行う必要があります。
- .NET Profiler を有効にする。
- アプリケーションで以下を確認する。
- .NET かどうか。
- Application Insights を使用しているか。
- プロファイルを収集しています。
.NET Profiler とコード最適化
.NET Profiler とコード最適化は連携して、パフォーマンス問題を検出するための包括的なアプローチを提供します。
.NET Profiler
.NET Profiler では、特定の要求をミリ秒単位まで細かく追跡することに重点を置いています。 アプリケーション内の問題の優れた "全体像" のビューと、それらに対処するための一般的なベスト プラクティスが提供されます。
コード最適化
コード最適化では、.NET Profiler によって収集されたプロファイル データが分析されます。 Profiler for .NET によって Application Insights にデータがアップロードされると、機械学習モデルでデータの一部が分析され、アプリケーションのコードを最適化できる箇所が検出されます。 コード最適化では、以下を行います。
- 時間の経過に伴って収集された集計データを表示します。
- アプリケーション コード内のメソッドと関数にデータを結びつけます。
- コード内のボトルネックを見つけることで、原因を絞り込みます。
コストとオーバーヘッド
コード最適化は、.NET Profiler が有効になった後に自動的に生成されます。 パフォーマンスの問題を分析し、パフォーマンスに関する推奨事項を生成するための追加コストは発生しません。 機能の中には、GitHub 用の Copilot や Azure 用の Copilot を必要とするものがあります (コード レベルの修正候補など)。
サポートされているリージョン
コード最適化は、Application Insights と同じリージョンで使用できます。 次のコマンドを使用して、使用可能なリージョンを確認できます。
az account list-locations -o table
接続文字列を使用して明示的なリージョンを設定できます。 接続文字列とその例に関する詳細情報。
次のステップ
関連リンク
アプリケーションで次の機能を有効にして、コード最適化を開始します。
問題が発生していますか? トラブルシューティング ガイドを確認してください