1

IIS のストレス テストに関するいくつかの投稿に気付きましたが、物理 Web サーバーが処理できることのベンチマークを確立する良い方法を知りたいと思っています。

私は現在、毎日のように速度が遅くなり、ほとんど停止しているように見える実稼働システムに取り組んでおり、誰も問題の原因を突き止めていないようです。これは、標準の N 層セットアップ (クライアント、Web サーバー、DB サーバー) です。ストレス テストのベンチマークを確立するために使用しているいくつかの簡単なことを実行できるいくつかの簡単な ASP.NET ページを作成しました。このページは、後で使用して、既に配置されている運用システムと比較することができます。

ボックスの使用状況に関する Web サーバーの統計情報を返すだけのサンプル aspx ページを既に作成しました。また、正しい ID が指定された DB 接続をテストする単純な Web サービス (asmx) も作成しました。ここでも、DB 接続を開くだけで、実際には何も実行しないサンプル クエリは何もありません。

私が知りたいのは、次のテストを実行するのに適したストレスレベルはどれくらいですか? 特に、私はMicrosoft の Web Application Stress Toolを使用しており、ストレス レベルストレス乗数が 許容できるとほとんどの人が期待するものに興味があります。範囲である必要があります。Web サーバーがどの時点で座屈を開始するか、約 20 のストレス レベルと 10 のストレス乗数がギブまたはテイクすることは既にわかっています。これにより、毎秒約 275 ページ リクエストが発生します。その数値が低すぎるかどうか、それがクライアントと Web サーバーの間に問題があること、または何らかのハードウェアの問題があることを示しているかどうかを調べようとしています。何も問題はなく、システムが重すぎるだけです。

更新:最初にこの投稿を書いて以来、コードは IIS 7 を使用する Windows 2003 を実行しているサーバーに移動されました。

ここで知りたいのは、小さなページを提供するだけの基本的な index.html ファイルなど、比較的単純なテストを設定した場合、達成できる「最高の」ページ要求/秒を期待することです。ストレステスト?

4

1 に答える 1

1

ここで知りたいのは、小さなページを提供するだけの基本的な index.html ファイルなど、比較的単純なテストを設定した場合、達成できる「最高の」ページ リクエスト/秒を期待することです。ストレステスト?

Microsoft の Web Application Stress Tool について話すことはできませんが、テスト マシンとサーバー間のネットワークがフラッディングするか、テスト サーバーがテストを作成してコンパイルするための CPU を使い果たすまで、IIS でホストされている静的な html ページをスラッシングすることは可能です。 . ISS が行うことは、キャッシュされた同じ応答を毎回送信することだけです。

サイトがどのように機能しているかを適切に把握するには、サイトにアクセスする実際のトラフィックを適切に表現する必要があります。モデルを作成したら、それを使用しているユーザーの数を拡大して、どのページが最も遅く、どのサーバー リソースが最初に壁にぶつかるかを調べることができます。

特定の負荷に対してパフォーマンスが許容できないページが 1 つ以上ある場合や、ディスク使用率やデータベース パフォーマンスなどのサーバー統計が使用されていない場合があります。

本番サイトと同じアーキテクチャでホストされているサイトでテストしていない限り、アーキテクチャの推奨を行うのは困難です。

パフォーマンスの低いページでは、コードを分析できるため、改善が容易になります。

入手できる場合は、Visual Studio Ultimate エディションを使用して負荷テストを行うことをお勧めします。また、コードのセクションとデータベース呼び出しを把握するための ASP.NET プロファイリング ツールも提供します。

于 2011-02-27T23:54:00.727 に答える