Share via


【IIS7】 WCAT6.3を使った負荷試験の概要

このブログに来る人で”WCAT”というキーワードでの検索で到達してきている方が多いのでこのネタは今後もじっくり腰を据えて書いていこうと思っています。今日は付属のマニュアルから大事なところだけ抜粋して書いておこうと思います。時間がとれればあのマニュアルそのものをここで翻訳書いちゃおうと思います。

●復習:WCATって何?

Web Capacity Analysis Tool の略。Windows Server Performance Team (開発部門の少人数 開発者集団)が開発したものです。このチームのミッションはWindows Server プラットフォームのパフォーマンスを測定し向上させることで、カーネル・ネットワーク層・IIS・CLR・ASP.NET の連携でのパフォーマンスを測定して向上したことを確認するために作られたツールのようです。このため、どんどん改良されていっています。そして今はIIS.NETで無償ダウンロード提供されているということになります。すごく直球なツールでいくつかのコマンドプロンプトで使用するコマンドの組合せで構成されています。設定したり実行するのに6.3ではWSHも使用されています。Windowsの自動化なんでVBScriptで書かれていそうですが、実はメインの制御スクリプト wcat.wsf はjscript(JavaScript)で書かれています。

●復習:入手方法
IIS6.0 リソースキットとWCAT6.3単体のダウンロード(x86用とx64用)が入手経路です。リソースキットについては本と付属ツールの組合せになっているのでツールだけのダウンロードというのもあります。

WCAT 6.3 x86版
https://www.iis.net/downloads/default.aspx?tabid=34&i=1466&g=6

WCAT 6.3 x64版
https://www.iis.net/downloads/default.aspx?tabid=34&i=1467&g=6

Resource Kit Tools
https://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1352

●セットアップ方法 WCAT6.3

[ダウンロードしたMSIをコントローラのマシンで実行します。]
WCatX86.msi を実行してインストール
Completeでインストールする
VistaだとUACメッセージ、許可する
Readme.txtが起動するので閉じる

[試験準備]
コントローラに管理者権限でログオン
Cscript //H:Cscript で Cscript をデフォルトに。
Wcat.wsf –terminate –update –clients localhost,CL1,CL2…
※空白をいれずに負荷を担当するクライアント名をカンマ区切りで指定する。
※コントローラ自身も含まれる場合、localhostあるいはマシン名を追加しておく。

[実行]
シナリオ(サンプル:home.ubr)と設定(サンプル:settings.ubr)
Wcat.wsf –terminate –run –clients localhost,CL1,CL2… -t 任意のシナリオ.ubr –f 設定.ubr  -s SV1,SV2… -singleip –x
※サーバー一覧の指定の仕方はクライアント同様。
※その他のパラメータは読める人は是非 Wcat.wsf のスクリプトを読んでください。

実際に月曜からやる IT Pro 道場で見せようと思ってNLBクラスタの仮想アドレスに負荷(と言ってもIISのトップページ)をかけましたがちゃんとうまく行きました。で、6.3からはレポートがXMLで出力されます。これがまたIISのトレースみたいにXSLで定義された書式なので自由度が高いんです。これからどんどんいいレポートに変わっていく予感がします。(^0_0^)

それと「ほー」と思ったのがリモートサーバーのパフォーマンスカウンタを指定しておくとそれも収集してレポートに含めてくれる点です。グラフィカルではないんですが、表と文字のレポートで結構重要な情報を取得することができます。