ユーティリティ スポットライトWeb Capacity Analysis Tool

Greg Steen

Web のログ と従来のトラフィック分析からは、今後予想されるトラフィックの種類の手掛かりを得ることはできますが、インフラストラクチャの処理可能範囲を判断するにはどうしたらよいでしょうか。それには、インフラストラクチャとアプリケーション スタックを限界の状態まで持って行くツールが必要です。そのようなツールの 1 つに、無料で利用できる Web Capacity Analysis Tool (WCAT) があります。このツールは、軽量な負荷生成ユーティリティで、スクリプト化した HTTP 要求を Web サーバー (または負荷分散サーバー ファーム) に対して再生しながら、後で分析するパフォーマンスの統計を収集します。最新バージョン (このコラムの執筆時点では 6.3.1) では、x86 と x64 の両方の Windows システムに対応したものが用意されており、IPv6 ネットワークをサポートしています (x86 用は iis.net/downloads/1466/ItemPermaLink.ashx、x64用は iis.net/downloads/1467/ItemPermaLink.ashx からダウンロードできます)。また、WCAT は、マルチスレッド対応で、1 つの場所で制御している複数の負荷テスト クライアントをサポートするので、何千もの同時接続ユーザーのシミュレーションを行うことができます。

このユーティリティでは、古いコンピュータをテスト クライアントとして使用して、各テスト クライアントで複数の仮想クライアントを作成することができます (作成できる仮想クライアントの最大数は、テスト クライアント コンピュータに搭載されているネットワーク アダプタや他のハードウェアの構成によって異なります)。HTTP 1.0 要求と HTTP 1.1 要求のどちらを使用するのか、SSL を使用するかしないのかを選択できます。テスト シナリオで必要があれば、スクリプト化した基本認証または NTLM 認証を使用して、サイトの制限を設けている部分へのアクセスを行うことも可能です (サイトで Cookie、フォーム、またはセッション ベースの認証を使用している場合は、適切な GET 要求または POST 要求を作成して、テスト ユーザーを認証できます)。WCAT では、サイトで設定している Cookie を管理するので、プロファイルとセッション情報が維持されます。

WCAT can help you test the limits of your Web site infrastructure

WCAT can help you test the limits of your Web site infrastructure  (画像を拡大するには、ここをクリックします)

WCAT には、優れたユーザー ガイドが用意されています。このガイドを読むだけで、サイトのトラフィック監査履歴のユーザー トラフィック データに基づいてテスト クライアント スクリプトを生成する Microsoft® .NET Framework コンソール アプリケーションを簡単に作成して、展開前に新しいコードベースで実際のトラフィックのシミュレーションを行うことができるのです。C 言語に対応できるプログラマがいる場合は、シナリオ ファイルで呼び出して、環境に応じて調整できるカスタム関数と応答ハンドラを作成できます。

WCAT を使用するには 2 つのファイルを構成する必要があります。1 つ目のファイルは、クライアントの数、クライアントごとの仮想クライアントの数、追跡するパフォーマンス カウンタ、テストに使用する Web サーバーなど、一般的なテストの設定を含む制御ファイルです。2 つ目のファイルは、テスト シナリオ、既定の要求パラメータ、およびカスタム関数やライブラリへの参照を含むシナリオ ファイルです。

WCAT では、テスト結果が XML ファイルに記録されます。この XML ファイルには、同梱の XSL スタイル シートを適用して、Internet Explorer® で開いたときに適切な表形式で表示することができます。レポートには、実行されたトランザクションの数、発生したコンテキスト スイッチの回数、(すべての CPU の) CPU 使用率の割合、発生したエラーの総数が含まれます。また、設定ファイルで構成したパフォーマンス カウンタの結果が一覧表示されたセクション (スクリーンショット参照)、応答時間の分析、トランザクションごとの統計レポート、クライアントごとの分析結果セクション、およびテスト セットアップの構成に関する情報が提示されます。さらには、テストに使用したリモート Web サーバーのハードウェア構成と、インストールされているすべての更新プログラムの一覧も提示されます。これは、特定の修正プログラムがサイトのパフォーマンスに影響を与えているかどうかを判断および追跡するのに適した方法です。

全体的に見て、Web サイトのインフラストラクチャを管理している場合、WCAT ユーティリティを使用すると、次の大きな製品のリリースまでに、負荷がかかったときのプラットフォームのパフォーマンスを把握するのに役立ちます。

Greg Steen は技術プロフェッショナルであり、企業家でもあります。また、新製品のファンとも言えます。より簡単な操作、品質保証、および開発に役立つ IT プロフェッショナルのための新しいツールを日夜追い求めています。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.