MicrosoftWebアプリケーションストレスツールを使用したWebのストレステスト



Stress Testing Web Using Microsoft Web Application Stress Tool



Webストレステストは現在人気のあるトピックであり、ウェブストレステストは効果的にいくつかをテストすることができますWebサーバーの実行ステータスや応答時間など。Webサーバーの耐久性テストは非常に優れた手法です。Webストレステストでは通常、Microsoftなどのツールを使用しますウェブ応用ストレス、Linuxでの包囲、フル機能Web-CTなど。これらはとても良いですWebストレステストツール。

これらのツールは、サーバーの耐性をテストするのに便利ですが、比較的包括的なテストツールを使用しても、その害はさらに驚くべきものです。Webサーバーは、壊滅的な拒否攻撃を開始します。みんなでマイクロソフトを活用していきます。ウェブ応用一度ストレスウェブストレステスト、目的は誰もがその巨大な害を見ることができるようにすることです。



まず、ツールはシンプルです

マイクロソフトウェブ応用ストレスこのツールは、実際のWebサイトのストレスをテストするためにMicrosoftのWebテスターに​​よって開発されたツールのセットです。この強力なストレステストツールを使用すると、少数のクライアントコンピューターを使用して、多数のユーザーがWebサイトサービスにオンラインでアクセスした場合の影響をシミュレートできます。 Webサイトが実際にオンラインになる前に、実際の環境で設計しているWebサイトを設計できます。システムの潜在的な問題を見つけるためにテストし、さらにシステムを調整してセットアップします。 D.O.S爆撃の機能を持っているのはこれらの特性のためです。



ヒント:D.O.S(Denial of Service Attack)は、サービスコンピューターをクラッシュさせたり、破壊したりして、サービスを提供できないようにします。簡単に言えば、コンピューターにできるだけ多くのサービスを提供させて、コンピューターを崩壊またはクラッシュの危機に瀕させます。

第二に、ツールはセットアップが簡単です

オンにするウェブ応用ストレスツール、非常にシンプルなページ(図1)、上のツールバー、左下の機能オプション、右下の詳細設定。ターゲットでWebサーバーのストレステストを行う前に、必要な設定をいくつか行ってください。



図1

1.「設定」機能設定(図2)では、1つはストレスレベル(スレッド)これは、指定されたプログラムがバックグラウンドで使用するスレッドの数です。これは、シミュレートされるクライアントの数に相当します。より多くの画像は、設定されている爆撃スレッドの数です。ねじ山の数は機械の公差に応じて設定されるため、通常は500〜1000を記入してください。マシンの構成に十分な自信がある場合は、設定を高くするほど、爆撃効果が高くなります。
同時ユーザー数を変更するには、[設定]アイコンをクリックします。ユーザー数が100人未満の場合は、ストレスレベルを直接設定できます。 100人を超えるユーザーをシミュレートするには、StressMultiplierも設定する必要があります。基本的な式は次のとおりです。ユーザー数(スレッド数)=ストレスレベル*ストレス乗数。 1,000人のユーザーをシミュレートする場合は、ストレスレベルを100に設定し、ストレス乗数を10に設定できます。


図2

2. [テスト実行時間]で、ストレステストの期間を指定します。これは、日、時間、分、秒のいくつかの単位に分割されます。実情に合わせて設定できます!

3.残りのオプションはそれほど重要ではありません。ここではインクの無駄がなくなり、友達が自分で設定を試すことができます。

第三に、ストレステスト

ツールが導入されたら、条件を準備しましょう:ここでは、テストする友人と話し合います。彼は単一のマシンであり、マシン構成はCPUです:Athlon XP2500 +、メモリ512MB、ハードディスク80GBなど、マシン構成はそうではありません悪い。彼はマシンにIISをインストールし、外部をセットアップしましたWebサーバー、WebサービスのプログラムはDynamicNetwork7.0です。このサーバーをテストするためにストレステストツールを使用しました。

ステップ1:ツールを右クリックし、[追加]コマンドを選択して、新しいテストプロジェクトを追加します。新しいスクリプトを設定し、サーバーでテストするサーバーのIPアドレスをメインオプションに入力します。以下のテストを選択してくださいWeb接続方法、ここでは動詞がgetを選択する方法、パスがテストするために選択する方法Webページのパスに、ネットワークのホームページファイルである/Index.aspを入力します(図3)。

画像3

ステップ2:「設定」の機能設定でストレスレベル(スレッド)スレッドは1000に設定されています。完了したら、ツールの灰色の三角形のボタンをクリックしてテストします(図4)。テストが終了したら、友人がタスクマネージャーのスクリーンショットと接続ビューを送信するのを待ちます。

図4

攻撃が開始された後、友人はCPU使用率が100%に達し、損失率が最大に達したことを確認できます(図5)。 CMDウィンドウでコマンドnetstat-anを使用すると、私のIPアドレスが友人のサーバーのポート80に非常に接続されていることがわかります(図6を参照)。そしてそのWebサイトが開かれていないため、接続するユーザーが多すぎて、D.O.S攻撃と同じ目的を達成しています。

図5

画像6

複数のブロイラーを使用してサーバーを実行する場合を想像してみてくださいWebストレステスト、それはこのサーバーにとって災害になるので、友人はそれを使用する前に慎重に検討する必要があります。


テスト結果を分析する
ツールバーの[レポート]アイコンをクリックすると、結果のレポートを表示できます。これにより、[スクリプト]タブに隣接する新しいタブが作成されます。レポートはアウトラインビューで保存されます。まず、レポートの下にある[結果コード]をクリックします。これにより、このテストで何がうまくいかなかったのかがすぐにわかります。表示されるステータスコードが200でない場合は、何が悪かったのかを調査することをお勧めします。通常の問題には、署名と誤ったURLパスが含まれます。

[概要]をクリックすると、このテストアクティビティの簡単で迅速な分析が表示されます。 ASPの技術的な観点から、1秒あたりのリクエスト数は、詳細に分析する必要がある重要な値です。値が高いほど良いです。一般に、使用状況レポートと予算から特定の目標を決定できない場合は、ASPの1秒あたりのリクエスト数の値を30より大きくすることができます。もちろん、このASPはデータベースに接続されておらず、他のコンポーネントを使用していません。予見可能であるため、データベースに接続するとプログラムの負担が大きくなります。

1秒あたりのリクエスト数のカウンターはデフォルトでWASに含まれていますが、他のカウンターを追加することもできます。 [パフォーマンスカウンター]アイコンをクリックした後、[カウンターの追加]をクリックすると、他のカウンターを追加できます。特に便利なカウンターは、ASP Requests Queuedです。これは、ブロックされた、または存続期間の長いページまたはコンポーネントを識別するための鍵となることがよくあります。 ASPのパフォーマンスを分析するためのリソースは次のとおりです。

・インターネットインフォメーションサーバーのパフォーマンスの調整

・Webサーバーのパフォーマンスを最適化するための迷路の設定をナビゲートする

・IIS4リソースキット

パフォーマンスと測定可能性に影響を与える要因
サーバー構成、データベースアクセス、およびその他の要因により、ASPの1秒あたりの要求値が大幅に減少する可能性があります。さまざまな構成オプションもさまざまな役割を果たします。ここで、頻繁に発生するいくつかの要因を指摘したいと思います。

・データベースにアクセスしている場合、接続プールはありますか?接続プールの詳細については、「Microsoft DataAccessコンポーネントのプール」を参照してください。

・ASPセッション変数を使用して状態を保存していますか?セッション変数は、テスト容易性にすぐに影響を与える可能性があります。これらにはサーバーリソースが必要であり、パフォーマンスを拡張するためにマシンを追加する場合、セッションは特定のマシンに関連付けられているため、障害になる可能性があります。ステートレスは、スケーラビリティを最大化する方法です。セッションの代替手段については、この記事を参照してください:ハウツー:セッションなしで値を永続化する

・Visual Basicコンポーネントをセッション状態で保存していますか?今すぐ削除してください。セッション内のVisualBasicオブジェクトは、スレッドの依存関係を引き起こし、IISにヒットするスレッドプールに干渉する可能性があります。これは複雑なトピックですが、それを満たすための経験的な方法は次のとおりです。セッションにシングルスレッドアパートメント(STA)オブジェクトを格納しないでください。セッション内にオブジェクトを保持する必要がある場合は、オブジェクトを「両方」としてマークする必要があり、これらの空きスレッドを自分でコレクションに集約する必要があります。 Active Template Library(ATL)は、そのようなモンスターを作成できます。

・Webアプリケーションは、独自のメモリスペースでの実行に制限されていますか?実際、プロセス保護をお勧めします。ただし、パフォーマンスをさらに向上させる必要がある場合は、プロセスでネットワークプログラムを実行すると、一連のクロスプロセスのオーバーヘッドをいくらか節約できます。

・Microsoft Transaction Server(MTS)コンポーネントに関しては、コンポーネントがライブラリパッケージではなくサーバーパッケージとして実行されている場合、パフォーマンスに大きな違いがあります。一般的な推奨事項は、独自のメモリスペースで実行するようにネットワークプログラムを設定してから、ライブラリパッケージ内のMTSコンポーネントを実行することです。

複数のユーザーの状況をシミュレートする
WASでマルチユーザーリクエストをシミュレートする方法について簡単に説明します。あなたは2つのことをする必要があります:

1. [設定]パネルで同時接続を変更します。

2.ユーザーにユーザーを作成します。少なくとも、同時接続で指定した数を超えるユーザーを作成します。

同時ユーザー数を変更するには、[設定]アイコンをクリックします。ユーザー数が100人未満の場合は、ストレスレベルを直接設定できます。 100人を超えるユーザーをシミュレートするには、StressMultiplierも設定する必要があります。基本的な式は次のとおりです。ユーザー数(スレッド数)=ストレスレベル*ストレス乗数。 1,000人のユーザーをシミュレートする場合は、ストレスレベルを100に設定し、ストレス乗数を10に設定できます。

十分な数のユーザーを設定する前にスクリプトを実行しようとすると、警告が表示されます。ユーザーアイコンをクリックしてユーザー数を変更すると、右側のウィンドウにデフォルトのデフォルトグループが表示されます。 [デフォルト]グループをダブルクリックして、ユーザーリストを展開します。匿名でのアクセスが許可されている場合は、新しいユーザーのコードを入力して[作成]をクリックするだけです。

署名されたログインを必要とするテストを実行します
署名されたログインが必要なページを実行する場合は、実行時にWASを使用できるように、適切なユーザー名とパスワードを作成する必要があります。これはユーザーでも設定されます。 [すべて削除]を使用して現在のユーザーリストを最初から削除してから、必要なユーザーを追加するか、テキストファイルからユーザー名とパスワードをインポートすることを選択できます。

ただし、とにかく、これらのユーザーが有効なアカウントを持っており、IISサーバーにアクセスできることを確認する必要があります。 BASIC基本認証ユーザーアカウントを使用している場合は、ブラウザーで証明書を送信することにより、このアカウントをテストできます。 Request.ServerVariables( 'AUTH_USER')の値をテキストファイルに書き込むと便利です。変更されたASPコードは次のようになります。

oTS.writeline( 'セッションID:'&Session.SessionId&chr(32)&_
'時間:'&Cstr(now())& 'AUTH USER:'&chr(32)&Request.ServerVariables( 'AUTH_USER'))
WASを使用するためのヒントとヒント
結論として、いくつかのヒントとヒント、および要約するいくつかのレッスンを提供します。

・このファイルは急速に大きくなるため、Webサイトのログファイルのストレージを調整します(IISドキュメントを参照)

・レジストリ内のHKEY_LOCAL_MACHINESoftwareMicrosoftWASSessionTraceのDWORDを1に設定してデバッグすることにより、WASアクティビティを追跡できます。

・WASレポートにエラーが表示された場合は、必ずイベントログを確認し、ツールの外部のブラウザでページを参照して、サーバーのログを確認してください:WinNTsystem32LogFilesW3SVCi

・テストクライアントマシンのプロセッサ使用率が85%を超える場合は、テストクライアントをさらに追加する必要がある場合があります。

・より興味深いトピックのいくつかがWASドキュメントに表示されます:ページグループ、クエリ文字列、Cookie、Webアプリケーションストレスオブジェクトモデル、およびActive Server Page Client(これにより、Web経由でクライアントをリモートでテストできるようになります)

これはテクニカルサポートのないツールであることに注意してください。質問はroot @ xxxxxに送信してください。Webアプリケーションストレスツールでいくつかの一般的な問題を検索できます。このツールをプログラムして、同じWebサイト上のオブジェクトモデルへの参照を持つこともできます。

転載:https://www.cnblogs.com/lhxsoft/p/6247292.html