218

これは間違った質問かもしれませんが、asp.net Web アプリケーションで大きな負荷をレプリケートする最善の方法は何ですか? 特定のページで多くのリクエストをシミュレートする簡単な方法はありますか? それとも、プロファイラーを使用して単一のリクエストを追跡し、パフォーマンスが問題ない場合はそこから解決するのが最善ですか?

Web アプリがサーバー仕様でどの程度うまく機能するかを知っておくとよいでしょう。テスト サーバーで大量のトラフィックをシミュレートできるようにして、運用サーバーが十分に優れているかどうかを判断できるようにしたいと考えています (具体的には、db パフォーマンスではなく iis/asp.net を使用)。

4

9 に答える 9

81

http://loadimpact.comをこれまでに見つけた中で最高のものを試してみてください。

于 2011-06-11T07:20:47.230 に答える
59

最初にいくつかの自動テストを行うことをお勧めします。それにはセレンを使用してください。

次に、Selenium グリッドをデプロイして、複数のコンピューターで同時にテストします。

自動テスト ツールとしての Selenium は非常に高速に実行されますが、ミニ ストレス テストを作成します。ネットワーク上の複数のコンピューターで同時に同じ自動化を実行すると、その動作を確認できます。

応答のタイミングを記録したい場合は、自動化を実行するためのスクリプトを作成するために使用できるクールな API があります。

編集: Selenium は非常に使いやすく、内容をテストしたい場合はページの内容をアサートします。また、必要に応じてページ全体の動きをコピーします (これは私の提案です)。ページを何度もナビゲートしてから、自動化のために保存します。セレンがより速く実行されるように、アサートを配置しないでください。

于 2008-12-04T13:34:11.640 に答える
55

JMeterはそのようなツールの 1 つです。学習と構成が少し難しい場合がありますが、通常はそれだけの価値があります。

于 2008-12-04T13:33:35.540 に答える
38

ab (Apache ベンチ) ツールを使用すると、1 つのページに多くのリクエストを送信でき、使用するクライアントの数と必要な同時接続数を指定できます。

これは、サイトを開発する際の最初のステップとなる場合があります。特定の負荷でいくつかのページをテストするだけです。このベンチマーク方法では、キャッシュが過剰に使用されるなどの問題が発生する可能性があります。

後で、単一のページではなく、具体的なトラフィックをシミュレートするツールが必要になる場合があります。私はまだそのようなツールに便利な参照を持っていません。

于 2008-12-04T13:36:45.957 に答える
10

たぶんグラインダーが役立ちますか?スレッドと軽量プロセスによる同時リクエストをシミュレートしたり、複数のマシンにテストを分散したりできます。私はそれを広範囲に使用しており、毎回成功しています。

于 2008-12-04T13:45:00.260 に答える
6

商用製品の試用版と無料で入手できる製品の両方で、いくつかのアプリケーションを試しました。最終的に、私たちが試したのはTeam Test Load Agentソフトウェアの試用版でした。それは間違いなくうまく機能し、使い方はかなり簡単です。長期的には、Team Foundation Server に移行し、部門のすべての部分に適切なツールを装備するという私たちの主張を強化しました。

ただし、明らかな欠点は価格です。

于 2008-12-04T14:08:27.187 に答える
4

この種のプロジェクトにはWebLOADを使用しました。スクリプトの作成は簡単で、ASP.NET 統計の監視のサポートが組み込まれています。

于 2012-02-05T11:32:22.023 に答える
3

私が好きなもう1つのツールはOpenSTAです:http://opensta.org/

これは主にパフォーマンステストに焦点を当てており、無料です。

2018年の更新:

答えはかなり古いので、OpenSTAプロジェクトはあまり活発ではないようです(ただし、ツールはまだ利用可能です)が、他に2つのツールをお勧めします。

  • ガトリング「コードとしての負荷テスト」
  • NeoLoad「負荷テストプラットフォーム」

私の意見では、制限がなく、商用のエンタープライズソリューションを提供し、Jenkinsのような継続的インテグレーションツールに適合しているため、ガトリングの方が優れているようです。

それどころか、NeoLoadには無料バージョンがありますが、50ユーザーに制限されています(場合によってはそれで十分です)。機能の完全な比較はここにあります。

于 2011-05-16T12:24:23.983 に答える
3

Web サービスのテスト、ソープ レスト、または WCF (WebHttpBinding を含む) については、SOA Cleaner を試してください。http://xyrow.comからダウンロードできます。無料版があり、インストールは必要ありません。負荷テストも実行できます。

于 2009-09-16T08:16:48.557 に答える