ホームページ  >  記事  >  バックエンド開発  >  ANTS パフォーマンス プロファイラー (.NET パフォーマンス チューニング チュートリアル)

ANTS パフォーマンス プロファイラー (.NET パフォーマンス チューニング チュートリアル)

Y2J
Y2Jオリジナル
2017-04-25 10:57:071698ブラウズ


.NETパフォーマンスチューニングシリーズ記事

シリーズ記事インデックス

  • .NETパフォーマンスチューニングの1つ: ANTS Performance Profiler の使用

  • .NET パフォーマンス チューニング パート 2: Visual を使用する コード測定用のスタジオ

  • .NET パフォーマンス チューニング パート 3: YSlow 関連ルールのチューニング ツールとメソッド

.NET を使用してアプリケーションをすぐに開始し、開発した後、次の問題に直面する可能性があります。プログラムのパフォーマンス チューニングには、プログラムのホスト システム、データベース、ネットワーク環境など、さまざまな側面が関係することがあります。プログラムが非常に大きく複雑な場合、パフォーマンス チューニングはさらに困難になります。

このシリーズの記事では、主にいくつかの .NET パフォーマンス チューニング ツール、Web パフォーマンス最適化ルール (YSlow など) とその方法などを紹介します。それが書かれる前に私が最も見たくないのは、「どの言語が優れているか、どの言語がより高いパフォーマンスを持っているか」についての終わりのない議論です。これ以上苦労せずに、本当に理解している人なら、そのような議論が意味があるかどうかを知っているはずです。パフォーマンスの最適化の観点から問題を議論できることを願っています。

ANTS Performance Profiler の基本的な使い方

ANTS Performance Profiler は、RedGate の強力なパフォーマンス チューニング製品です。公式製品ページはこちらです。

まずソフトウェアの基本的な使い方を見てみましょう。

簡単なテストには次のコードを使用します。

これはコンソール アプリケーションです。最初に 10,000 回ループし、合計を出力し、次に LINQ を使用してリスト内の 1000 の値を見つけて出力します。

1 static void Main() 2 { 3     var list = new List<int>(); 4  5     var sum = 0; 6     for (var i = 0; i < 10000; i++) 7     { 8         sum += i; 9         list.Add(i);10     }11     Console.WriteLine(sum);12 13     //find the value use linq: 100014     var result = list.Where(p => p.Equals(1000));15     foreach (var i in result)16     {17         Console.WriteLine(i);18     }19     Console.ReadKey();20 }

プログラムをコンパイルした後、ANTS Performance Profiler を起動すると、ウィザード ページが自動的にポップアップします。このページでは、ソフトウェアが EXE、Web、Windows などのさまざまな .NET プログラムのパフォーマンス監視をサポートしていることがわかります。サービス等

パフォーマンスカウンターでは、IO、メモリ割り当て、プロセッサなど、ニーズに応じてさまざまなカウンターを選択できます。

DEMOをテストするには、コンパイルされたexeファイルのパスを選択します。先ほどはデバッグコンパイルだったので、プログラムフォルダーの下にあるbinDebug内のexeを選択します。

プロファイリング モードでは、基本的に監視情報の量と速度のバランスを考慮して監視のレベルを選択できます。デフォルトの選択は「最も詳細」です。その他の詳細設定については、ヘルプドキュメントを参照してください。

「プロファイリングを開始」をクリックしてプログラムを開始します。

分析結果の表示と分析

ソフトウェアの基本的な動作原理は、.NET によってコンパイルされた IL コードにフックを挿入して時間を記録し、コードのどの部分が最もエネルギーを消費しているかを表示することです。直感的なインターフェイス。したがって、これはパフォーマンス チューニングの最も直接的な方法であり、最も時間のかかるコード セグメントを最適化するだけです。

「プロファイリングの開始」をクリックして、以前にコンパイルしたプログラムを開始すると、ソフトウェアが実行を開始します winform、Webなどの他の対話型プログラムの場合は、パフォーマンスチューニングが必要な機能を操作した後、マウスを使って表示したい期間を選択します。通常、パフォーマンスに問題がある期間にピークが発生します。その期間を選択するだけです。

選択後、下の結果ウィンドウで最も時間のかかるメソッド (上記のデモなど) がすぐに確認できます。もちろん、Main 関数でパフォーマンスが消費されます。

このソフトウェアは、パーセンテージや複数の時間形式を含む、パフォーマンス損失を表示するためのさまざまな測定値を提供します。ここでは、測定単位として「秒」が選択されています。

次に、表示したい機能を選択すると、ソフトウェアの威力が明らかになります。

  • 右側の赤い線をクリックすると、最もエネルギーを消費するコードがすぐに見つかります。色が濃いほど、コードはエネルギーを消費します。

  • 左側には、行番号、このコードが実行された回数 (ヒット数)、平均実行時間、合計実行時間、そしてもちろん、次のコードも表示されます。同時に分析も行います。

なぜこのデモのコードが Console.WriteLine を初めて実行するときに非常に多くのエネルギーを消費するのかについては、「CLR via C#」の第 1 章をよく読んでいただければ答えがわかると思います。

もちろん、以下のように、階層アイコンをクリックして、より直感的なパフォーマンスの低下を確認することもできます。

このような階層構造図のもう 1 つの利点は、.NET Framework の内部実装を確認できることです。

ネイティブ関数を使用するかサードパーティのコンポーネントを使用するかなど、いくつかの決定を行う場合、この関数は内部実装のパフォーマンスのボトルネックがどこにあるのかをより直観的に確認できるため、非常に役立ちます。

結論

ANTS Performance Profiler は、パフォーマンス チューニングのための私の最初のお気に入りのツールです。そのため、少しでもお役に立てればと思い、最初の記事でそれを共有します。

これは非常に直感的で強力です。現在の複雑なプロジェクトはデモには適していないため、デモ用に簡単なコードを作成しただけです。その威力は、実際にパフォーマンスの問題が発生して使用するまで続きます。

記事に抜けや追加がある場合は、メッセージを残して一緒に議論し、その後の関連記事にも注目してください。

この記事が役に立った場合は、お勧めしてください、ありがとうございます:)

以上がANTS パフォーマンス プロファイラー (.NET パフォーマンス チューニング チュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。