負荷テスト


現在のところ、Hyper-V,SystemCenter,Citrix XenAppの評価やら企画設計やら要件定義、設計やらを行っています。

で、ここ半年ぐらいはMOSSを全く触らない日々が続いています。

 

それはさておき、去年の今頃は負荷テストに明け暮れていました。
そこで、MS社の負荷ツールを思い出しながらご紹介。

 

■Web Application Stress Tool

昔からある無料のWeb負荷ツールです。スクリプトの自動作成機能がありますし、日本語の資料もネット上にありますので入り易いかと思います。

http://support.microsoft.com/kb/313559/ja

http://msdn.microsoft.com/ja-jp/library/dd313983.aspx

 

MOSSで使う場合のポイント
・IIS管理画面を開き、SharePoint(80)サイトの基本認証を有効にする。
理由としては、このツールがNTLMをサポートしていない為です。
(基本認証の有効化は、セキュリティ面で要協議です)
・[Users] 設定画面に、実際にMOSSへ接続出来るアカウントを設定する。
例えば、30名の同時アクセスをかける場合、
①ADに負荷テスト用のアカウントを30アカウント作成。(test_user1~test_user30など)
②上記のアカウントを、MOSS閲覧権限を有したセキュリティグループへ追加。
③Web Application Stress Toolの[Users] 設定画面にtest_user1~test_user30のアカウントと
パスワードを設定する。
(例:ドメイン名がtestdomでパスワードがpasswordの場合)
アカウント名 パスワード
testdom\test_user1    password
testdom\test_user2   password
testdom\test_user3   password
testdom\test_user4     password

 

■WCAT6.3

SharePointで負荷テストで紹介しましたが、無料で使えて多機能です。しかし、以下の点から敷居は高いと言えます。

・日本語資料が殆ど無い。英語ドキュメント、海外ブログを読みながらの開発作業が必要。
・(基本的な)HTTPプロトコルのスキルが必要。
・スクリプトの自動生成機能は無い為、基本的に自分で開発する必要がある。

このツールを本格的に使いこなすには、結構な体力を使います(経験者)

トップページを表示させるだけのスクリプトであれば、そんなに苦労はしないかと思います。
しかし、サイト遷移させたり、検索やらドキュメントチェックイン・アウトやらを入れ始めると体力が要ります。

個人的な意見ですが、このツールを頑張って使いこなすよりも、
以下のMicrosoftR Visual Studio 2005 Team Test Load Agentを使用した方が良いかと思います。(コストは高いですが。。。)

 

■MicrosoftR Visual Studio 2005 Team Test Load Agent

Visual Studioに負荷ツールがあります。
もちろん、有償ツールです。

解説書がありましたのでご紹介。MOSS画面でのテスト例が素敵です。

http://download.microsoft.com/download/3/2/2/322fc3d3-48b5-466b-81f1-e4e7e833796c/WP_VSTTLA.pdf

上記URLで以下のドキュメントがDL出来ます。

「MicrosoftR Visual Studio 2005 Team Test Load Agent ステップ バイ ステップ設定ガイド」

上記ドキュメントは参考になりそうです。けど、簡単そうに書かれていますが、実際にやってみると試行錯誤が発生しそうな匂いがします。
(まだ、やった事ありませんが。。。)

尚、以下のMS社さんのMOSSパフォーマンス検証もこのツールを使用しています。

http://www.microsoft.com/downloads/details.aspx?FamilyId=3DE4D6D4-C6BA-44DB-90C4-F7C2366B9BB9&displaylang=ja

「Microsoft Office SharePoint Server 2007 パフォーマンス検証 ホワイトペーパー」

広告

 

SharePointでの性能テスト(負荷テスト)のツールを再考中の私です。

で、調べたらWCATがVer6.3になっていました。

う~ん、去年、一番忙しい時期にリリースされてましたな。。。全然、気が付きませんでした。

WCAT6.3は、無償でありながらも、負荷を制御するマシンと、実際に負荷をかけるマシンを分けられるのが素敵です。MOSSをNTLMで構築している場合は、ちょっと使えるかも。。。

 

■基本を押さえる

以下のサイトで、WCAT6.3のインストール手順や使い方などを奥主さんがWebcastで紹介しています。日本語万歳!MS社のエバンジェリスト、奥主さんに大感謝です!!

http://www.microsoft.com/japan/technet/community/events/dojo/online/self/7.mspx

http://www.microsoft.com/japan/technet/community/events/dojo/online/self/7-1.mspx

http://blogs.technet.com/hirookun/archive/2008/04/22/_1030_IIS7_1130_-MSC2008-_BB30C330B730E730F33088308A30_-_08FF4A307E30513009FF_.aspx

 

■ちょっと踏み込む

奥主さんのサイトで基本を押さえた後、WCAT6.3付属のマニュアル(英文59ページ)を読む前に、チェックしておきたいサイトを紹介します。コントローラとクライアントを分ける場合に参考になりました。

http://www.galcho.com/articles/StressTestingWCAT.aspx

って、英語サイトですが。。。基本的にSharePointと同様、WCAT6.3も使いこなす為には、英語を避けては通れないようです(笑)

 

■実験開始

WCAT6.3には、HTTPリクエストを自動作成してくれる機能はありません。手動で作る手間がかかります。無償なので文句は言えませんな。。。

付属のマニュアルを参照し、home.ubrに以下の記述を行い実行。この時、SharePointはNTLM認証構成です。

 

ユーザ名:user1

パスワード:Pass1234!

の場合

 

request
       {
           url="/Pages/default.aspx";
           statuscode = 401;          
       }

      request
       {
           url="/Pages/default.aspx";
           authentication = ntlm;
           username = "user1";
           password = "Pass1234!";           
           statuscode = 200;          
       }

 

IISのアクセスログとイベントログのセキュリティを見たところ、ちゃんと認証されたようです。

ただ、GET毎にこれを手動で作成する。。。う~ん、厳しい。言わずもがなですが、MOSSの操作をシュミレートする場合、上記の1リクエストだけでは無いですからね。。。奥主さんが紹介しているように、Log Parserを使ってIISログから作り込めないか?と、考え中です。

 

■関連記事

MS社の負荷テストツール

 

 

■その他、参考サイト

①HP社ドキュメント

http://h20271.www2.hp.com/ERC/downloads/4AA2-2938ENW.pdf

さすがHP社さん、かなりマニアックです。

 

②その他

以下のサイトのやり取りが参考になりました。

http://forums.iis.net/p/1147721/1862565.aspx