こんにちは、私の友人は現在、SOA アーキテクチャを使用してアプリケーションを開発しています。彼は多くのレイヤー (ほぼ 10) の写真を送ってくれました。彼はパフォーマンスの問題を心配しています。アプリケーションは VB.Net 2.0 & 3.5 (いくつかのライブラリ) で開発されています。彼は英語を理解できないので、私は彼を助けるために最善を尽くしますが、パフォーマンスのためのツールを手に入れる時が来たと思います.
ありがとう
こんにちは、私の友人は現在、SOA アーキテクチャを使用してアプリケーションを開発しています。彼は多くのレイヤー (ほぼ 10) の写真を送ってくれました。彼はパフォーマンスの問題を心配しています。アプリケーションは VB.Net 2.0 & 3.5 (いくつかのライブラリ) で開発されています。彼は英語を理解できないので、私は彼を助けるために最善を尽くしますが、パフォーマンスのためのツールを手に入れる時が来たと思います.
ありがとう
基本的に各レイヤーで同じテストデータを実行することにより、これに単体テストを使用したため、最下層(おそらくデータベースアクセスオブジェクト)から始めます。そのためのタイミングを取ります。次に、次のレイヤーをテストして続行すると、各レイヤーのパフォーマンス ヒットを確認できます。
テストを 10 回または 100 回実行して、テスト前の時間を取得し、テスト後の時間を取得し、差を出力して、ランダムな差の一部を取り出すことができます。
データベースがクエリをキャッシュしてそれを使用する可能性を排除できるように、100 個のテストを一意にするのに十分なテスト データがありました。
プロファイラーを使用する必要があります。Visual Studio Profiler Teams のブログへのリンクは次のとおりです: http://blogs.msdn.com/profiler/
そこにはクールなものがたくさんあります。
これは、プロファイリング (ANTS Performance Profiler は堅実な製品ですが、他の有料および無料の代替手段があります) と統合/パフォーマンス テストの組み合わせに適しているように思えます。
10 層というのはすごい量のように思えます。通常は 4 ~ 5 層のみで構成される「準」SOA アプリ (すべてのサービスが内部で公開され、それらを通過するメッセージはほぼ完全に単一のクライアント アプリケーションによって消費されます) があります。
Database > Web-Service > Web-Service Proxy / Persistence Layer > Data Layer > UI
私たちの世界ではクライアント エクスペリエンスがすべてであるため、デバッグ ビルドを実行しているクライアントで ANTS を使用し、すべてのレイヤーを下ってバックアップするのにかかる累積時間を確認できます。クライアント コードの外にあるボトルネックはほとんどありません。