IBM Lotus Domino Server.Load 8 クイック・スタート・ガイド

IBM Lotus Domino Server.Load 8 は IBM Lotus Domino の機能をベースとした負荷生成ツールです。この記事では、インストールから構成およびワークロードの実行まで、すぐに始められる方法を紹介します。

Daniel Dumouchel, Software Engineer, IBM

Daniel Dumouchel is a Software Engineer for the IBM Lotus Domino performance team. He currently focuses on assisting performance engineers and testing performance tools. He joined IBM in June 2007 as an intern.



Joseph Malek (jmalek@us.ibm.com), Software Developer, IBM

Joe Malek is a developer for the IBM Lotus Domino performance team. His current focus involves developing performance tools for the Lotus Domino performance team working on various platforms such as Microsoft Windows, Linux, IBM AIX, and Sun Solaris. Joe joined Iris Associates in October 2000.



James Powers (jhp@us.ibm.com), Software Developer, IBM

Jim Powers is a member of the IBM Lotus Domino performance team with a current concentration on the Linux platform. His experience with computer systems goes back more than 30 years; he has performed various hardware and software roles throughout his career.



2007年 12月 12日

IBM Lotus Domino Server.Load 8 について解説します。この記事では、インストールから構成およびワークロードの実行まで、すぐに始められる方法を紹介します。

Lotus Server.Load は IBM Lotus Domino の機能をベースとした負荷生成ツールであり、これを使用することで各種 Lotus Domino サーバーのキャパシティーおよび応答メトリックを測定し、特性を明らかにすることができます。負荷を生成するには、Lotus Domino のクライアント/サーバー間オペレーションの動作をシミュレートするワークロード (「スクリプト」とも呼ばれます) を実行します。このワークロードにより、共通のツールを使用して一貫性のある反復可能な負荷を Lotus Domino または IBM Lotus Sametime サーバーに適用し、オペレーティング・システム、ハードウェア、構成をさまざまに変更した場合の影響を評価することができます。

このワークロードには、組み込みとカスタムの 2 種類があります。組み込みのワークロードはほとんどが、メール・ユーザーの各種アクティビティーをシミュレートするために作成されているものです。しかし、組み込みワークロードしか使えないというわけではありません。組み込みワークロードを変更したり、独自のワークロードを作成したり、各社のニーズに最適なものにすることができます。Lotus Server.Load の概要については、developerWorks Lotus の記事「Iris Today Archives - ドミノ パフォーマンス・チューニングの基礎」を参照してください。

Lotus Server.Load の入手方法

Lotus Server.Load は、IBM Lotus Domino Administrator クライアントのインストール・オプションの 1 つです。Lotus Domino Administrator クライアントのインストールの一部として選択することができます。図 1 は、Administrator クライアントのインストールの「Custom Setup」ウィンドウで、「Server Load Utility」オプションが選択された状態を示しています。

図 1. Lotus Notes クライアントのインストール・オプション
Lotus Notes クライアントのインストール・オプション

Lotus Server.Load を選択したあとの手順

Server Load Utility オプションを選択すると、インストール・プログラムにより Lotus Domino Administrator の Notes ディレクトリー内に sload.exe というファイルと namagent.nsf というデータベースが作成されます。sload.exe プログラムはクライアントの実行可能ディレクトリー (notes) に、また namagent.nsf データベースはクライアントのデータ・ディレクトリー (notes\data) に作成されます。Lotus Sametime に関連するワークロードを実行する予定がある場合には、sload.exe が格納されている実行可能ディレクトリーに、必ず CstClientTest.java および stjavatk.jar ファイルもコピーしてください。Lotus Sametime 対応のワークロードを実行するときにはこれら 2 つのファイルが必要になります。


テスト環境

テストに使用する環境は以下の通りです。

  • Server Under Test (SUT)。これは Lotus Domino を実行するテスト・システムです。Lotus Server.Load でシミュレーションの対象となるユーザーはこの Lotus Domino に接続されています。データベース (namagent.nsf) のエージェントを、このサーバーの Domino ディレクトリーにコピーする必要があります。これらのエージェントがテスト・ユーザー「Person」文書の作成や ACL 値の設定などを行います。
  • クライアント/ドライバー。これらのシステムは Lotus Server.Load およびワークロード・スクリプトを実行し、SUT に対するユーザーのアクティビティーをシミュレーションします。Lotus Server.Load がその作業を行うときには Lotus Notes API を使用するため、これらのシステムには Lotus Notes クライアントがインストールされている必要があります。適切なユーザー負荷にするためには、複数のクライアントが必要になることもあります。各クライアントは通常、512 から 1,500 のユーザーを対象としてシミュレーションを実行できます (クライアントのハードウェアにより異なります)。また、Lotus Server.Load を使用して Lotus Domino サーバーの統計情報を収集し、1 つのファイルにすることもできます。サーバー統計情報の収集スクリプトを実行するには、別のクライアントを使用してください (詳細は後述します)。クライアント・マシンは、すべてが管理クライアントである必要はありません。必要なファイルがクライアントの実行可能ディレクトリー (通常は Notes ディレクトリー) にコピーされてさえいれば、標準的な Lotus Notes クライアントでも使用できます。Lotus Server.Load を実行する前に、Lotus Notes クライアントを使用してクライアントを SUT に接続しておく必要があります。テスト・ユーザー ID をセットアップし、SUT でテストするクライアント上に Location 文書を作成することを推奨します。 図 2 は、IBM Lotus Domino Designer クライアントで namagent.nsf および SUT の Domino ディレクトリーが開かれ、.nsf データベースから Domino ディレクトリーにエージェントをコピーしようとしている様子を示しています。右側のペインに示されているエージェントを選択してコピーし、SUT の Domino ディレクトリー内の同一フォルダー (Share Code の下の Agents) に貼り付けます。
図 2. Lotus Server.Load のセットアップ・エージェント
Lotus Server.Load のセットアップ・エージェント

Lotus Server.Load セットアップ・エージェントの使用

エージェントを SUT の Domino ディレクトリーにコピーしたら、そのエージェントを使用して Mail Person 文書のセットアップを行うことができます。以下の手順に従います。

  1. Lotus Domino Designer で「Actions」、「Other」の順に選択します。
  2. 「Run Agent」ダイアログ・ボックスが開き、そこで実行するエージェントを選択できます。「Person」文書を作成するために「Create NotesBench Mail Person Documents」エージェントを選択します。「Run」をクリックします。
  3. 「Enter A Number 1-9 to Select Workload Setup」ダイアログ・ボックス内で「1」を入力して「NRPC Mail」を選択します。「OK」をクリックします。
  4. 「Create NotesBench Mail Person Documents」ダイアログ・ボックスで「Starting Value to Create Mail Users」フィールドに「1」を入力します。「OK」をクリックします。
  5. 次に、Domino ディレクトリーにユーザーを追加するために「Number of Users to Create」フィールドに「1000」と入力します。ユーザー数は希望の数を指定できますが、ワークロードで所定のユーザーを実行するためには、そのユーザーに対応する Person 文書が必要であることに注意してください。「OK」をクリックします。
  6. 次に、ステップ 5 で入力した数字と同じ数字を「Number of Mailn.NSF Files to Use」フィールドに入力します。この場合は「1000」と入力します。「OK」をクリックします。
  7. 「Starting Mailn.NSF File」フィールドに「1」と入力します。このフィールドには、ステップ 4 で「Starting Value to Create Mail Users」フィールドに入力したものと同じ数字を入力してください。「OK」をクリックします。
  8. 「Location for Mail Databases (relative to Notes Data directory, blank = root)」フィールドに、「mail\」を入力します。「OK」をクリックします。
  9. 「Mail Domain (example: notebnch)」フィールドで、SUT のドメイン名として自分のサーバーのドメイン名を入力してください。「OK」をクリックします。
  10. 「Mail Server (example: sut1/notebnch)」フィールドで、SUT の名前とそのドメインとして yourserver/yourdomain (自分のサーバーの名前とドメインを使用) を入力します。「OK」をクリックします。
  11. 「Create Person Documents for NRPC Mail」ダイアログ・ボックスで、「Internet Host Name」フィールドに SUT の絶対パスによるホスト名 (例: yourserver.yourdomain.com など) を入力します。「OK」をクリックします。
  12. 開いている「Create NotesBench Mail Person Documents」ダイアログ・ボックスで、「Message Storage Format」フィールドに値を入力します。この値はユーザーが使用するフォーマットにより異なります。Notes フォーマットの場合は「0」、特に指定しない場合は「1」、インターネット/Web フォーマットの場合は「2」を選択します。ほとんどの場合、例えば N8Mail ワークロードを実行する場合などは「0」を選択します。「OK」をクリックします。
  13. 「Mail System」フィールドに「1」を入力して「OK」をクリックします。
  14. 最後のダイアログ・ボックスで「Click OK to run Create Notesbench Person Documents Agent with the following settings」フィールドに「y」を入力して「OK」をクリックします。

Lotus Server.Load の使用方法

SUT 環境の構成が完了したら、クライアント側の構成を行うことができます。ワークロードはデータベース上で実行されるため、データベースをインストールしておく必要があります。次に、自社のニーズに合ったワークロード群はどれかを判断します。Lotus Server.Load にはあらかじめ多数のワークロードが組み込まれています。これらのワークロードは、平均的なユーザーとそのユーザーが実行すると思われるアクションを表すユーザー・モデルに対応します。しかし Lotus Server.Load で提供するワークロードだけであらゆるテスト環境の要求に応えることが可能なわけではないため、Lotus Server.Load ではカスタム仕様のワークロードにも対応できるようになっています。各種の組み込みワークロードの詳細については、Lotus Domino Administrator help(US)の Lotus Server.Load 関連資料のセクションを参照してください。

図 3 は Lotus Server.Load の各種ワークロードを示すドロップダウン・リストです。

図 3. Lotus Server.Load のワークロード
Lotus Server.Load のワークロード

ワークロードの実行方法

まず、組み込みのワークロードを実行してみましょう。sload.exe プログラムを実行します。このプログラムは、Lotus Domino Administrator クライアントのインストール時に選択した Lotus Server.Load オプションでロードされたファイルの 1 つです。デフォルトでは、Lotus Server.Load は組み込むワークロードのタイプを選択します。Lotus Server.Load オプションでドロップダウン・ボックスを使用してワークロードをブラウズし、実行したいワークロードを見つけます。

前述のとおり、ワークロード実行の対象となるメール・データベースをサーバー (SUT) 上に作成して起動する必要があります。そのため、まずワークロードを起動するワークロードを実行し、それが完了したあとで実際のワークロードの実行が可能になります。ほとんどのワークロードで、このような起動手順を使用します。このプロセスの詳細は、Lotus Domino Administrator の資料を参照してください。

使用しようとするワークロードが自社のニーズに合わない場合には、テスト・タイプとして「Custom」を選択してください。Lotus Server.Load にはさまざまなコマンドが含まれているため、その中から適切なものを選択して (資料を参照してください)、組み込みワークロードの表示、コマンド・セットのコピー、コマンド・セットの編集などを必要に応じて行うことができます。この方法により、自社独自のカスタム・ワークロードを迅速に編集できます。カスタム・ワークロードの記述が完了するとそれを自分のマシン上に格納することが可能になり、Lotus Server.Load から、そのスクリプトを実行するオプションが表示されます。「Edit Script」ボタンをクリックするとスクリプトを表示でき、必要に応じてそのカスタム・スクリプトを変更することができます。

図 3 のように、テスト・タイプとして「Manual」 (手動) を選択することも可能です。この手動モードは各種ワークロード・コマンドの実行に使用されます。手動モードを選択すると、「Command-Line Screen」タブを使用してコマンドを入力できます。このモードは、スクリプト全体をとおしてテストを行う前にその一部をテストする場合に便利です。


テストのより高度なカスタマイズ

図 4 は、ワークロード・タイプの領域の下にある 4 つのタブを示しています。これらのタブはワークロードをさらにカスタマイズする場合に使用され、各タブの下には編集可能な多数の設定が含まれています。左端のタブ「Test Parameters」では、シミュレーションの対象となるユーザー数とスクリプトの実行回数を編集できます。開始時のスレッド数のほか、スレッド作成インターバル (各ユーザー/スレッドの開始を遅らせる秒数) も設定できます。スクリプトの実行を継続する時間を指定したい場合もあるものです。Lotus Server.Load では、テスト時間のパラメーター・オプションにより、この指定が可能です。また、アドレス帳を使用して受信者リストを作成したり、テスト結果を特定のファイルに格納したりすることもできます。

図 4. Lotus Server.Load ダイアログ・ボックスのカスタマイズ用タブ
Lotus Server.Load ダイアログ・ボックスのカスタマイズ用タブ

スクリプトがタイムアウトになったり、応答時間が長くかかりすぎたりすることがあります。図 5 に示すように、「Stop Conditions」タブでこのような状態をカスタマイズすることができます。Lotus Server.Load では、スクリプトがタイムアウトとなるまでの時間や応答時間の上限を手動で入力して指定できます。この指定の時間が経過するとテストは即時に中止され、その時間に達したテストの結果が送信されます。

図 5. Lotus Server.Load ダイアログ・ボックスの「Stop Conditions」タブ
Lotus Server.Load ダイアログ・ボックスの「Stop Conditions」タブ

ほぼすべてのワークロードは、スクリプトの変数に従ってそのスクリプトを進行させます。図 6 に示す 3 番目のタブ「Script Variables」では、各変数の値を変更することができます(これらの変数がどのようなものか、また各変数の推奨される値についての詳細は、Lotus Domino Administrator help (US) を参照してください)。

図 6. Lotus Server.Load ダイアログ・ボックスの「Script Variables」タブ
Lotus Server.Load ダイアログ・ボックスの「Script Variables」タブ

最後のタブ「Command Line Screen」は、手動モードの場合にのみ使用します。前述のとおり、手動モードにするとスクリプトで使用するコマンドを手動で入力することができます。

以上で、すべてを希望に合わせてカスタマイズできました。これでワークロードの実行が可能になります。


測定基準の決定

スクリプトを実行する前に行わなければならない最後の作業は、テストの記録に使用する測定基準を決めることです。「Execute」ボタンをクリックすると、図 7 に示すように測定基準を選択する画面が表示されます。Lotus Server.Load では、スクリプト測定基準と、一部のサーバー stat 測定基準が選択できるようになっています。またスレッドの統計情報も毎分トラッキングされます。オプションで、測定基準の保存場所も任意指定できます。

図 7. スクリプト測定基準とサーバー stat 測定基準の指定
スクリプト測定基準とサーバー stat 測定基準の指定

これでワークロードの実行が可能になりました。出力は図 8 に示すウィンドウに表示されます。Lotus Server.Load が開始時間と終了時間をトラッキングし、テストが完了するとそれを通知します。

図 8. 出力モニター・ウィンドウ
出力モニター・ウィンドウ

例: Init スクリプトの実行

これは N8Mail ワークロードとともに使用されるメール・データベースの作成例です。図 9 の画面では、ユーザー/スレッド数として「1」を選択した状態を示しています。これにより、1 つのデータベース mail1.nsf が作成されます。次に、このデータベースを複数コピーするための O/S スクリプトを記述します。これにより、mail2.nsf、mail3.nsf などとファイル名の数字をインクリメントし、作成されたテスト・ユーザー数と同数のデータベースを作成できます。また、「Number of Users/Threads」フィールドにデータベースの合計数を入力すれば、Lotus Server.Load ですべてのデータベースが作成されるように設定できます。

図 9. メール・データベースの作成
メール・データベースの作成

例: ワークロードの実行

この例では、先ほどメール・データベースを作成した N8Mail ワークロードを実行するための設定を示します。ここでは、1,000 ユーザーを対象としてシミュレーションを行う設定となっています。図 10 を参照してください。

図 10. ユーザー数の指定
ユーザー数の指定

図 11 は、このワークロードで使用される変数を示しています。ほとんどの変数はプリロードされていますが、次の 2 つの変数を追加指定する必要があります。

  • nb-dbdir の値。これは、シミュレーションの対象となるユーザーのメール・データベースが格納されているサーバー上の Lotus Domino データ・ディレクトリーのサブディレクトリーです。この場合は、メール・サブディレクトリーです。
  • MailTemplate の変数。この例では、サーバー (SUT) Dolly 上にあるメール・テンプレートを使用します。このメール・テンプレートの名前は mail8.ntf です。「!!」は、このマークの前に記述されているサーバー上のファイルを Lotus Server.Load が使用することを示します。したがって、この変数は Dolly!!mail8.ntf となります。
図 11. ワークロードの実行に使用される変数
ワークロードの実行に使用される変数

: 各クライアントが次のクライアントの開始前に十分な余裕を持って準備できるように、クライアントのシミュレーションには時間差を設ける必要があります。(ただし、サーバー統計情報の収集スクリプトを実行するクライアントは例外です。このクライアントは最初のクライアントと同時に開始される必要があります)。


まとめ

ここまで、Lotus Server.Load を利用してどのようなことができるのかをごく簡単に説明してきましたが、Lotus Server.Load を使ってみるには十分な情報が提供されています。この記事は、Lotus Server.Load とはいったい何なのかを分かりやすく説明することで、ユーザーの皆さんが資料を参照してこのツールの機能を十分活用できるようにすることを目的に作成しました。

参考文献

学ぶために

製品や技術を入手するために

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Lotus
ArticleID=338284
ArticleTitle=IBM Lotus Domino Server.Load 8 クイック・スタート・ガイド
publish-date=12122007