監視とデバッグは、アプリケーション開発を成功させるための重要な要素です。
ASP.NET は、.NET に基づくオープンソース フレームワークです。開発者は ASP.NET を使用して、CSS、HTML、JavaScript を使用して Web サイト、アプリケーション、およびサービスを構築します。 JSON または XML がモバイル デバイスを含む接続されたデバイスと通信できるようにする Web API も作成します。
ASP.NET の機能は、SignalR ライブラリを使用して拡張できます。 SignalR は、HTML5 ベースの WebSocket API およびその他の API を使用して、サーバーとクライアント間の動的な多方向通信を簡単に確立します。
Microsoft は、動的データ、データ アプリケーション フレームワーク、AJAX 機能、Web アプリケーションを構築するための MVC (Model-View-Controller) フレームワークなど、ASP.NET の機能をさらに強化する他のフレームワークも提供しています。
ASP.NETアプリケーションをデバッグする必要がある
設計開発プロセスやプログラム開発ライフサイクル (PDLC) では、必ずエラーが発生します。工数を最小限に抑え、後の大きな開発ボトルネックを回避するには、これらのエラーを早期に発見して修正することが不可欠です。
PDLC 内の論理エラーおよび構文エラーを見つけて修正するプロセスは、デバッグと呼ばれます。
デバッグ プロセスでは、プログラマーまたは開発者が ASP.NET アプリケーションにブレークポイントを追加します。このブレークポイントは、実行中のプログラムの実行を停止し、プログラムの正しさを段階的にチェックするために使用されます。これは、開発者がコードを完成または修正する前にコード セクションを分析するのに役立ちます。
ASP.NETアプリケーション監視のニーズ
ASP.NET アプリケーションの監視アクティビティにより、アプリケーションが定義された指標に従って動作することが保証され、問題やエラーが発生した場合には、開発者はユーザー エクスペリエンスを開始する直前にお互いのことを知る必要があります。
イベントの監視は、アプリケーションの実行時間を維持し、障害が発生した場合に問題を修正するために重要です。 ASP.NET アプリケーションを監視する理由は次のとおりです。
- サイトの利用状況や利用状況を確認するため
- ページが読み込まれるたびにアプリケーションが例外をスローします
- アプリケーションは正常に動作していますが、バックエンドの請求書またはプロセスが実行されていません
- アプリケーションは他のプロセスを実行できるため、リソースが消費され、メインプロセスの速度が低下する可能性があります。
SMB (中小企業) や大企業にとって、最高のエンド ユーザー エクスペリエンスを確保し、より良いビジネス結果を確保するには、ASP.NET アプリケーションの応答、オンライン可用性、顧客の応答、バックエンド プロセスなどを監視することが不可欠です。
少なくとも、企業はアプリケーションがオンラインであるかどうか、およびそれが高レベルでどのように動作するかを知る必要があります。サイトは速いですか、それとも遅いですか?顧客は満足していますか?これは重要な質問であり、回答し、常に監視する必要があります。
次のサブセクションでは、ASP.NET アプリケーションのデバッグと監視に使用されるツールについて説明します。

ニューレリック
New Relic は 、.NET Framework、.NET Core、および Microsoft 以外の他の言語とコンポーネントの可視性を提供します。このソフトウェアは、アプリケーションやサービスのボトルネックを特定し、カスタマー エクスペリエンスの前に修正するのに役立ちます。
これは、クラウドのデータセンターで実行されているアプリケーションや、Amazon、Microsoft Azure、Amazon Elastic Cloud などの Web サービスを監視する適応性のあるソフトウェアです。
動的プログラム分析により、実稼働段階での問題を診断して解決します。その例外警告メカニズムは、ユーザーが影響を受ける前に問題を解決するのに役立ちます。
全体として、New Relic は、アプリケーションのリアルタイム監視、運用追跡、アラート、診断、トラブルシューティングの観点から ASP.net フレームワーク全体を紹介する完全なパッケージです。
特徴
- コード実装前後のパフォーマンスの比較
- 分散アプリケーションとサービスの依存関係のサービス マップの視覚化
- 実行中のすべてのアプリケーションとヘルスモニタリングを監視する一元化されたダッシュボード
- リアルタイムデータを収集してアプリのパフォーマンスを把握する
このソフトウェアの透明性、予測可能性、手頃な価格は、中小企業にとって大きなメリットとなります。 1 ユーザーは基本機能を無料で使用できます。価格は追加ユーザーおよび追加機能あたり 99 ドルからです。

エンジンの管理
ManageEngine のアプリケーション監視は、Gartner からマジック クアドラントとして 9 回受賞しています。さまざまな種類の Web アプリケーションのパフォーマンスとビジネス アプリケーションの主要なユーザー エクスペリエンスについての深い洞察を提供し、エンドユーザーが影響を受ける前に問題を特定して修正します。
エンコード シーケンスから Unified Resource Locator (URL) まで、アプリケーション スタック全体を監視し、パフォーマンスの問題を追跡し、重大なクラッシュが発生する前にバグを修正できます。
ページ表示時間、ダウンロード時間、ロック時間などの小型のパフォーマンス指標も、ダッシュボードのさまざまな場所から追跡できます。あらゆる規模の組織がこのソフトウェアを使用して、アプリケーションの実行時間を追跡し、リアルタイムのパフォーマンスを監視し、ユーザーのパフォーマンスに影響が出る前にボトルネックを解決できます。
特徴
- 応答時間とエラーについてユーザーのアクションを追跡および監視します
- Apdex の結果に対するユーザー エクスペリエンスとユーザーの満足度の低下につながる Web トランザクションを特定します
- ウォーターフォール チャートを使用して読み込みが遅いコンポーネントを特定する
- 重要な Web パスを記録し、数分で再生します
.NET Framework に加えて、Java、NodeJS、Ruby in Rails、PHP など、さまざまな種類の Web アプリケーションに使用できます。このソフトウェアは 30 日間無料で使用でき、その後はリクエストに応じて年間ライセンス バージョンおよび永久ライセンス バージョンの価格を入手できます。

衛兵
Sentry は 、中小企業から大企業まで、最もシンプルで最も広く使用されている ASP.NET エラーおよびパフォーマンス監視ソフトウェアの 1 つです。 Microsoft、Disney、Cloudfare、Reddit、Github などを含む世界中の 80,000 の組織で使用されています。
ファイル名や行番号など、アプリケーション スタック全体を監視できます。デバッグ ログ、ネットワーク クエリ、データベース クエリ、過去のエラーなど、すべての例外をフィルタリングしてグループ化し、分析することができます。
例外用のカスタム環境タグを作成する独自の機能は、アプリケーション、ビジネス上の問題、およびユーザー エラーを分類するのに役立ちます。 ASP.NET の例外処理は、HTTP 要求、ワークフロー ステージ、各問題のホスト名などの特定のパラメーターに基づいています。
特徴
- 分散型のエンドツーエンド追跡により、不正な API 呼び出しと正しい API 呼び出しを特定します。
- 接続されている所有者/チームに電子メールを自動的に送信することで、効率的にバグに対処し、ASP.NET エラーを修正します。
- バージョンごとに重複したバグをマージし、将来のバージョンに影響があるかどうかを確認する機能
開発者は、基本的なパフォーマンス監視のために無料版を利用できます。価格は月額 26 ドルからです。

ドットトレース
DotTrace Profiler は、企業がデスクトップ アプリケーション、Windows Communication Foundation および Windows ユニバーサル プラットフォーム サービス、IIS Web サーバーでホストされる ASP.NET アプリケーション、単体テスト、Mono および Unity アプリケーションなど、あらゆる種類の .net アプリケーションにおけるパフォーマンスのボトルネックを発見するのに役立ちます。
その独自性の 1 つは、コード内の静的メソッドを即座にプロファイリングできることです。これは、コーディング直後にコードの各部分をプロファイリングするのに役立ちます。ソリューションを構築したり、プロファイラーで実行したり、新しいコードを実行する展開スクリプトを実行したりする必要はありません。
すべての SQL リンクを追跡して、遅い SQL クエリとパフォーマンス統計を特定できます。これをアプリケーションの実行に関連付けて、運用環境でのパフォーマンスの問題を調査できます。
特徴
- 非同期コードを 1 か所ですばやく分析します。
- インストールせずにリモート プロファイル アプリケーションを許可します。
- 低速で受信する HTTP リクエストを分析して正確な原因を特定する
- 時間調整に基づいてスナップショット内のすべての関数の時間を再計算することによるパフォーマンスの向上の推定値
DotTrace は、CI サーバー統合テストのプロファイルを作成し、パフォーマンスの低下を防ぐために使用できる専用の TeamCity プラグインを提供します。 Dot Trace ソフトウェアは、6 つの追加ツールを含む dotUltimate ソフトウェア パッケージの一部です。 DotUltimate の初年度料金は 1 ユーザーあたり 399 ドルです。

ダイナトレース
Dynatrace は 、ブラウザ アプリケーション、IIS、データベース、サービス、アクティビティを監視するための完全な .NET パッケージです。独自の PurePath テクノロジーを使用して、.NET アプリケーション環境でギャップや盲点なく、あらゆるレベルで各トランザクションの時間とコンテキスト コード レベルをキャプチャします。
事前構成されたダッシュボードは、個々のトランザクション、SQL ステートメント、コード レベルなどを含むすべてのリアルタイム パフォーマンス メトリックを監視します。ガベージ コレクション、Web リクエスト サイズ、アクティブおよびアイドル スレッド、.NET メモリ、再起動、エラー率、帯域幅など、さまざまなエラー追跡メトリクスが表示されます。
特徴
- CPU とメモリの使用量、ネットワーク トラフィック、TCP 再送信などのパフォーマンス メトリックを観察できます。
- そのリバース トレース機能は、データベース式がユーザー エクスペリエンスに及ぼす影響を理解するのに役立ちます。
- .NET アプリケーション内のすべてのアプリケーションとビジネス トランザクション フローを自動的に識別してマッピングします。
- プロセス、トラフィック、クエリなどの Web サーバーのパフォーマンス メトリックを追跡できます。
フルスタック監視ソフトウェアのコストは 69 ドルです。特定のモジュールをお探しの場合は、異なる価格体系が適用されます。
アプリダイナミクス
AppDynamics プラットフォームは、世界的に有名なネットワーキング企業 Cisco に引き継がれました。このソフトウェアは、.NET アプリケーションのパフォーマンスを監視および管理するための完全なソリューションを提供します。
業界で最も拡張性の高い設計を備えています。 ADO、ASP、IIS、非同期監視、スタンドアロン アプリケーション、Windows サービス、Azure、Sharepoint サーバー、リモート サービス、MVC5 などを含む、ほぼすべての .NET 監視フレームワークをサポートします。
専用のビジネス トランザクション管理ボードがあり、トランザクション ステータス、1 分あたりのコール数、遅いトランザクションなどの重要な統計に関するビジネス トランザクションの完全な効率を監視および追跡します。
ASP.NET トランザクション回復コードの実行時間などの詳細なメトリックが表示されます。
特徴
- ASP.NET を使用した迅速な分析とトラブルシューティングのための、遅いトランザクションまたは保留中のトランザクションの自動スナップショット
- パフォーマンス統計のグラフ表示
- 迅速な組み立てメカニズムにより、迅速な展開が可能になります。
ソフトウェアには 15 日間のテスト段階が付属しています。価格体系は CPU コアに基づいており、Infrastructor Monitoring Edition の場合は月額 6 ドルから始まります。他に、Premium ($60/m)、Enterprise ($90/m)、Real-Time User Monitoring (1000 トークンあたり 0.06/m) の 3 つのエディションがあります。
ANTS パフォーマンス プロファイラー
ANTS パフォーマンス プロファイラーは、 .NET 標準、.NET コア、サードパーティのフレームワーク、SQL クエリなどのパフォーマンスの問題を検出するように設計されています。これは、デスクトップ アプリケーション、ASP.NET アプリケーション、および ASP.NET モデル ビュー コントローラーに使用されます。
このソフトウェアは、.NET コードおよびデータベース クエリの完全な ASP.NET パフォーマンス データを提供します。正確な診断により、低速回線をドリルダウンして問題を特定できます。
その呼び出しツリー構造は、高価なメソッド、DB クエリ、および Web クエリを識別して直接表示し、遅いアクティビティのトラブルシューティングを行います。 Professional Edition は 2 つの主要なデータベース (SQL と Oracle) をサポートしており、.NET コードがデータベースに対してどの程度効率的にクエリを実行するかをテストします。
特徴
- アプリケーションがディスクアクティビティを行っている場合に幅広い I/O パフォーマンスを提供します
- 発信 HTTP リクエストを追跡して、リクエストの原因を特定します。
- 各行時間を SQL クエリと組み合わせて、遅いクエリを見つけます
- .NET または ASP.NET アプリケーションの CPU 固有のパフォーマンスを監視して、重要なデータのみに集中できるようにします
試用期間は 14 日間です。このソフトウェアには、Standard と Professional の 2 つのエディションがあります。標準価格はユーザーあたり 545 ドルからです。
引き返す
Stackify Retrace は 、ASP.NET および Java アプリケーションを監視する使いやすい SaaS ベースのソフトウェアです。アプリケーションの監視、トランザクション追跡、メトリクスのログ記録、エラーとレポート、堅牢なアラートなど、完全なエンドツーエンドのソリューションを提供します。
社内で設計されたアプリ「App スコア」では、Apdex スコアに続いて詳細な詳細が提供されます。ダッシュボードには、最適な Web クエリ、SQL クエリのパフォーマンス、遅い Web クエリなど、アプリケーションを綿密に監視するために使用できるすべてのメトリクスに関する情報が表示されます。
その Web プラットフォームは、CPU とメモリの使用量、1 分あたりの重要なトランザクションに関連するシグナル、1 分あたりのエラー数、満足度スコアなどの観点からサーバーとアプリケーションのパフォーマンスを表示します。
特徴
- 継続的インテグレーション/継続的デリバリー(CI/CD)ツールを使用してデプロイメント追跡を自動化します。
- パフォーマンスやエラー率の変化を迅速に特定する機能
- Web リクエストの処理コードにかかる時間を認識できます
- バグを迅速に修正し、コードを最適化する方法を認識する
このソフトウェアは 14 日間無料でご利用いただけます。コストは、プリプロダクションの場合は月額 10 ドル、本番の場合は月額 25 ドルから始まります。
ミニプロファイラー
MiniProfiler は 、.NET、ASP.NET、ASP.NET Core、および ASP.NET MVC 用のオープンソース プラットフォームであり、Stack Overflow チームのメンバーによって作成されました。
MiniProfiler は、アプリケーションの各部分の処理にかかる時間とデータベース要求の処理に費やされる時間を追跡することで、各ページのパフォーマンスのデバッグと最適化に役立ちます。
このプラットフォームは、開発者がボトルネックを調べて必要な修正を行い、アプリケーションを望ましい速度にできるように、アプリケーション領域のどの部分が遅延の原因となっているかを特定するために使用されます。
その 優れた機能 には、ストレージ、コール スタック、データベース プロファイルが含まれます。
結論
堅牢なアプリケーションの作成は、HTML、CSS、JS などの複雑なコーディングを行うために多くの工数がかかる複雑な作業です。アプリケーションの構築には、エンティティ、さまざまなライブラリ、データベース接続、サーバー応答時間などのマッピングが含まれます。
このプロセス中に、アプリケーションの速度を低下させている正確な原因を理解するのは困難になります。そのため、アプリケーションのパフォーマンスのデバッグ、監視、最適化の点でプロセスを容易にするために、上記のツールとソフトウェアが役に立ちます。
この投稿が ASP.NET アプリケーションのデバッグとパフォーマンスの最適化に役立つことを願っています。 ASP.NET ホスティング プラットフォームについても知りたいと思われるかもしれません。