2

サイトの Web 負荷テストを作成し、ユーザー数を 1 から 300 に増やしました。テストで記録されたパフォーマンスはとんでもないもので、私が想像できる最悪のパフォーマンスとはまったくかけ離れています。単純なログイン スクリプトの応答時間が最大 10 分かかることを想像してみてください。

私がすぐに疑うのは、1 台のコンピューターで 300 のクライアントをシミュレートしているという事実です。私のコンピューターの処理能力とインターネット帯域幅は、サーバーよりもはるかにボトルネックになっていると思います。

より現実的な結果が得られる、Web サイトのパフォーマンスをテストするより良い方法はありますか?

4

1 に答える 1

2

最初は、開発者のマシンから負荷テストを実行できますが、一般的に大規模な負荷テストにはお勧めできません。マシンは Web サイトをホストし、負荷テストを実行し、仮想ユーザーをシミュレートし、テスト結果をローカル データベースに保存します ...マシンが負荷テストのボトルネックになることは容易に理解できます。小さなスモークテストにのみ適しています。

多くのユーザーをシミュレートするために、ロード テスト リグと呼ばれるものをセットアップします。可能であれば、別のマシンで Web サイトをホストし、TestController とエージェントを使用してみてください。コントローラーはエージェント マシンを管理および調整し、エージェントは (別の場所でホストされている) アプリケーションに対して負荷を生成します。

私は Visual Studio Load Testing を 2 年間使用しており、非常に強力で使いやすいと感じています。理解することが非常に重要な、文書化されていない機能/プロパティの多くが隠されています

  • 新規ユーザーの割合とキャッシュ コントロール
  • 反復間の思考時間
  • リモート テスト設定 (intellitrace を収集しない、または asp.net プロファイリング セッションを実行しない) ...

それらのいくつかはここにリストされています。

また、通常、ステップ パターンを使用して負荷テストを実行するのではなく、Web サーバーで 50% の CPU をターゲットとする目標ベースのパターンを実行します。

于 2013-07-09T07:14:07.840 に答える