本文へジャンプ

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


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

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

  • 閉じる [x]

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

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

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


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

  • 閉じる [x]

Lotus Domino 7 サーバーパフォーマンス Part 1

Lotus Notes クライアントでのワークロード

IBM Lotus Notes/Domino Performance Team, Software Performance Analysts, IBM
Members of the Notes/Domino Performance Team who contributed to this article include Rich Buck, Wu W Huang, Angelo Lynn, Dave Johnson, Joseph H Peterson, James Powers, and Andrew Nolet.

概要: Lotus Notes/Domino 7が出荷されました。みなさんは以前のリリースと比べてパフォーマンスがどうであるかについて気にかかるところでしょう。3回シリーズの第一回目では様々なプラットフォームについて、以前のDominoと比べてDomino 7がどの程度前進したかを判断するために行ったテストについて解説していきます。(Domino管理者なら誰でもグッドニュースと思えることもあります。)

日付:  2005年 9月 27日
レベル:  中級 この記事の原文:  英語
アクティビティー: 2454 ビュー
お気軽にご意見・ご感想をお寄せください: 


パフォーマンスの向上とそれによるTCOの削減はLotus Notes/Domino 7の大きなテーマです。NRPC (Notes Remote Procedure Call、Notes/Dominoのメールプロトコル) については、内部的な制限を取り除くことによりスケーラビリティを向上させました。また、コードを最適化することでこれまでのCPU使用率でより多数のユーザーに対してサービスができるようになりました。全体として、Notes/Domino 7の殆どのプラットフォームでCPU使用率の低減化を図ることができました。(R6Mailユーザー測定時) CPU使用率の低減化はパフォーマンス向上での最大のものであり、開発陣はお客様の環境での結果を見てみたいと思っています。

三回シリーズの第一回目にあたるこの記事では、6.5と比較したLotus Notes/Domino 7のパフォーマンスの向上を解説します。この記事ではR6Mailの負荷ケースを使ったNotesユーザーのシミュレーションのベンチマーク結果を中心に扱っていきます。また、様々なプラットフォームで得られたベンチマーク結果をお見せしたいと思います。計測結果は単一のDominoパーティションで、特に断りがない限りトランザクションログは使用していません。Notes 6.5と7のメールテンプレートをDomino 7で使用した結果についても触れていきます。その双方については、Domino 6.5でNotes 6.5のメールテンプレートを使って計測した結果とも比較します。これにより、サーバーをアップグレードした後で発生するユーザーのメールファイルのDomino 7テンプレートへ変換する際の移行シナリオを想定することができます。

これらの結果はすべて1秒以下のDominoのリスポンスの回数になります。また、ベンチマークの目的であるため、ルータータスクのみを動作させています(別途記述がある場合は除く) これは他の動作によりデータが乱されないようにするためです。この記事の情報が有益であることを望むと共に、Notes/Domino 7が達成した進歩を理解していただきたいと思います。

※注意
この記事における結果は管理された環境で実行されたベンチマーク結果によるものです。一般的に見られるユーザー操作が反映されるようにシナリオを作成するようには努力していますが、我々がテストしたごく限られた機能とは異なり、実際のNotes/Dominoユーザーは異なることが容易に起こりえます。したがって、示される数値は基本的に相対的なパフォーマンスを示すものとしてご理解ください。また、実際の展開/運用における推奨値としてはご利用にならないようお願いします。キャパシティープランニングで助けを必要とする場合には、ハードウェアベンダーにご相談されることを推奨します。

また、様々なハードウェアプラットフォームでの結果を示しています、これらの構成は性能的に同じものではありません。今回の記事ではDomino自体のパフォーマンスについて焦点をあてており、プラットフォーム間でのパフォーマンスの差を見るに使われるべきものではありませんのでご注意ください。

The R6Mail ワークロード (負荷)

この記事でのベンチマークで使われるワークロードはserver.loadパフォーマンスツールのR6Mailです。このツールはDominoの中に入っています。server.loadの情報およびワークロードの情報については、Domino Administration Guideで見つけることができます。

まず概要ですが、ベンチマークの環境は複数の負荷(ワークロード)を生成するワークステーションからなっています。各ワークステーションはNotesのクライアント/サーバーのアクションを最大1500ユーザー分仮想的に生成することができます。平均1秒のリスポンスタイムを上回るまで負荷を生成するワークステーションを追加していきました。Dominoサーバー側では、テストで使用する仮想的なユーザーを適当な数だけDominoディレクトリーに追加しました。またそのユーザーについて各自のメールファイルをDataディレクトリーに作成しました。 仮想的な各ユーザーは90分の間に以下のタスクを実行します。

90分おきに行われる動作 R6Mailでの負荷
受信ボックスを開く6
メールを読む30
メールを削除する12
受信ボックスにメールを追加する12(50KB)
3人宛てにメールを送信する1(100KB average)
3人宛てに会議招集を送信する1
Send RSVP1
受信ボックスを閉じる6

このワークロードをローレベルのDominoのトランザクションログに細分化すると以下の通りになります。

処理のタイプ パーセント
受信ボックスの文書の読み取り25
文章を追加する25
受信ボックスを開く10
受信ボックスを読む10
文書を削除する1
短いメッセージの作成と送信5.8
文書に変更を加える5
受信ボックスを閉じる5
ディレクトリーの参照と名前確認(Validation)1.7
メールの作成と送信0.8
会議招集の作成と送信0.8
予定の作成0.8

本記事の以下のセクションではプラットフォーム毎に結果を見ていきます。


AIX

AIXのテストでは、以下のハードウェアの設定を行いました。

モデル名 P670
CPUPower4 1.4GHzのCPUを32個搭載。これを3つの論理パーティション(LPAR)に分割して使用。今回のテストでは、各パーティションに対して8CPUを割り当てました。
メモリーテストに使用したLPARには32GBを割り当てました。
アクティブな物理ドライブ64 SSAドライブで4トレイをDominoのプログラムとデータの構成。(各トレイもまた論理ボリュームになっています。) 各ドライブあたり15個の9GBのドライブでJFSログには9GBドライブひとつを割り当てています。
アクティブな論理ボリューム5つあり、4つは論理ボリュームはDominoのバイナリーとDominoのデータに使用。(JFS 2) 1つは、OS用の論理ボリュームです。
OSAIX 5.2

パフォーマンスを最適化するために、以下の内容をnotes.iniに設定しました。

Domino 6.5 Domino 7
NSF_Buffer_Pool_Size_MB=210
Server_Pool_Tasks=64
Server_Max_Concurrent_Trans=64
NSF_DbCache_MaxEntries=2000
ServerTasks=Router,LDAP,HTTP,SMTP
Server_Transinfo_range=12
NSF_Buffer_Pool_Size_MB=210
Server_Pool_Tasks=100
Server_Max_Concurrent_Trans=100
NSF_DbCache_MaxEntries=2000
Server_Transinfo_range=12
ServerTasks=Router,LDAP,HTTP,SMTP

AIXではセグメント化されたメモリーのアーキテクチャをとっており、共有メモリーとヒープで使われるセグメントの最大数を制限しています。そのため、非常に小さい値をNSF_Buffer_Pool_Sizeに指定しています。これによりテスト環境では非常に多い仮想ユーザーをサポートできるようになっています。実際の運用における構成では、この値はもっと大きな値になるだろうと考えています。Server_Pool_TasksとServer_Max_Concurrent_Transの値は各Dominoリリースで大きなユーザー数をサポートできるように設定されています。これらの項目についてデフォルトの設定から値を変更する前に、使用する値が最適値になるよう、各自の環境を分析しておくことをお勧めします。

今回のテストではサーバータスクを最低限に絞っており、実際の運用で使われている一般的なものとは異なります。ただ、実際に運用されているDominoサーバーについては全てServer_Transinfo_rangeをnotes.iniに設定することを推奨します。設定値を決めるには、Server Expansion FactorとServer Availability Indexをモニターしながら、繰り返し行ってみる必要があります。これらの値と設定について完全な理解をするには、Domino Administrator HelpのServer Availability Indexの設定の項目を参照してください。

今回のラボでのテストでは、p670 LPARで約15,000のNotes仮想ユーザーをDomino 7で動作させることができました。一方、Domino 6.5では10,000でした。

以下に示す二つの表は、Domino 6.5とDomino 7とで10,000ユーザーを動作させた際に消費するシステムリソースを示しています。最初の表では、Mail6メールテンプレートを使った場合を示しています。

リソース Domino 6.5 Domino 7 変化 (%)
CPU使用率 (%)2317.6-23
ディスク読み込み総計 (KB/sec)1,150,318905,709-21
ディスク書き込み総計(KB/sec)3,316,0833,175,272-4
共有メモリーの使用 (MB)116011521
プロセスメモリーの使用 (MB)2363173
ネットワークトラフィック (bytes/sec)2,059,5412,233,8238

二つめの表では、Mail7のメールテンプレートを使用した場合を示しています。

リソース Domino 6.5 Domino 7 変化 (%)
CPU使用率 (%)2318.51-20
ディスク読み込み総計 (KB/sec)1,150,3181,123,650-2
ディスク書き込み総計(KB/sec)3,316,0833,461,6094
共有メモリーの使用 (MB)116011903
プロセスメモリーの使用 (MB)2364178
ネットワークトラフィック (bytes/sec)2,059,5412,240,5679

Domino 7サーバー上でどのテンプレートを使うかにもよりますが、この表から、Domino 7は20から23%程度CPU使用率が低いこと、若干メモリーの使用率が高いこと、2から21%程度ディスク読み取りI/Oが低いことが分かります。また、図1からは、Domino 7サーバーでは12,000から14,000のR6Mailユーザーを、CPU使用率が25%を超えない程度でサポートできていることがわかります。(どのテンプレートを使うかによります。) 同じCPU使用率でDomino 6では10,000 のR6Mailユーザーしかサポートできませんでした。


図 1. CPU使用率の比較 (%)、Domino 7 vs Domino 6.5 (AIX)

p670を三つのLPARに分割して、ひとつのLPARを使った結果です。他の二つのLPARはテスト中もまた開発のトラブルシューティングやテスト用途に大きく使われていました。p670でLPARがいかによく動作しているかを示しているがこのことからよく分かります。異なる複数の処理を同一マシンで行ってもこの劇的なテスト結果が達成できたことを追記しておきます。


SuSE Linux (Intel)

以下の表は、NRPCのベンチマーク測定で使用したサーバーの構成を示したものです。

CPU1.4 GHz Xeon MP x 4
メモリー4 GB RAM
アクティブな物理ドライブSCSI Controller + XP300 RAIDアレイ x 3、FAStT 600 + EXP700s x 2、 全てRAID 0の構成に設定。
アクティブな論理ボリュームドライブは14個の論理ボリュームに設定されています。ひとつが/opt、ひとつが/tmp、ひとつが必要な場合にトランザクションログに使われています。残りの11はDominoのデータに割り当てられています。これにより、メールデータベースは非常に多くのボリュームに分散されて配置され、I/Oのボトルネックが発生しないようになっています。
OSLinux SuSE SLES 9 SP2

システムは「控えめな」Intelプラットフォームの1.4GHz Xeon MP CPU (ハイパースレッド) x 4 + 4GB RAMです。ディスクの構成はIBM EXPアレイでSCSIコントローラーに接続されています。FAStT 600システムは2つのQLogicのファイバーカード経由でサーバーに接続されています。測定においてはディスクのボトルネックを取り除き、15,000のNotesユーザーをシミュレートすることを達成することを目標におきました。OSはSuSE SLES 9を使用して、NPTL Posixライブラリーと同様、カーネル2.6をも最大限生かせるようにしています。

次の表は、notes.iniに変更した内容を示したものです。

Domino 6.5 Domino 7
ConstrainedSHMSizeMB=1024
NSF_buffer_pool_size_MB=256
NSF_DBUcache_max_entries=5000
NSF_DBcache_maxentries=5000
Server_Max_Concurrent_trans=200
server_pool_tasks=100
ServerTasks=Router
ConstrainedSHMSizeMB=2560
NSF_DBUcache_max_entries=6100
NSF_DBcache_maxentries=6100
NSF_buffer_pool_size_MB=512
Server_Max_Concurrent_trans=200
server_pool_tasks=100
ServerTasks=Router

ConstrainedSHMSizeMBの変数で興味ある特記事項があります。Domino 6.xではこの変数はおおよそ1GB前後に設定しておく必要がありました。これはDominoが最大で2GBまでしかメモリーを利用できない制限があるためです。(SuSE SLES 8 と SLES 9 では2GBがDominoに割り当てられる制限になっています。) そして、その一部はスタック空間に必要とされるものです。Domino 7ではこのnotes.iniパラメーター値は増やすことができるようになりました。これはSuSE SLES 8 と SLES 9でほぼ4GBまでデフォルトでメモリーを割り当てる方法が見つかったためです。これを行うには、tunekrnlと呼ばれる特別なプログラムを使います。これは自動的にシステムパラメーターを調整してDominoが効率的に動作するようにしてくれます。(Domino 7では自動的にこれが行われます。) また、この表にあるように、サーバー上で起動するタスクをNotesBenchのテストに必要なものだけに制限しています。これにより、テストで最大のパフォーマンスが出るようになっています。

Domino 6が設計された際には、Linix(x86) カーネルはsys-epollの機能ををサポートしなければならなかったが、実際にはそうではありませんでした。そのため、Dominoは他のプラットフォームで採用されているスレッドプールモデルをサポートすることができませんでした。これにより、NRPCユーザーはサーバースレッドを次々に作り出さなくてならなくなりました。各サーバースレッドはスタックを必要とし、256Kのメモリーを消費します。これらのスタックはOSがDominoに割り当てた2GBのメモリーから割り当てていきます。そのため、NRPCユーザー数をDomino 6では3000に制限していました。(zSeriesのLinuxでは、Domino 6.5にsys-epollを実装しています。)

Domino 7では、新しいカーネル (例えば、SuSE SLES 8やSLES 9) ではsys-epollの機能を活用しています。これにより、Dominoは他のプラットフォームと同じようにスレッドプールモデルを使えるようになりました。SLES 9に入っているNPTL Posixライブラリーにおける改善と相まって、Dominoのスケーラビリティーは大幅に改善されており、R6Mailユーザーで15,000 ユーザーを達成できています。これは400%も向上したことになります。(図2を参照)


図 2. CPU使用率の比較 (%) 、Domino 7 vs Domino 6.5 (SuSE Linux (Intel))

Domino 7は15,000 ユーザーを達成できましたが、以下の表は3000ユーザーで取得した結果を比較したものです。その理由は、その値がDomino 6での最大値だからです。残念ながら、このローエンドの規模ではちょっとした値の変化が非常に大きなパーセント値となってきます。そのことを考慮にいれてデータをお読みください。また、Domino 7が利用可能なメモリーが多くあればあるほど、共有メモリーを大きく取ることができます。そうすることによって、大規模なユーザーの負荷を扱うことができるようになります。最初の表は、Mail6のテンプレートを使用してシミュレートしたものです。

リソース Domino 6.5 Domino 7 変化 (%)
CPU使用率 (%)67.525
ディスク読み込み総計 (KB/sec)40822280-44
ディスク書き込み総計(KB/sec)35493460-03
共有メモリーの使用 (MB)61597759
プロセスメモリーの使用 (MB)9471,02008
ネットワークトラフィック (bytes/sec)63212875288119

二つめの表では、Mail7のメールテンプレートを使用した場合を示しています。

リソース Domino 6.5 Domino 7 変化 (%)
CPU使用率 (%)68.338
ディスク読み込み総計 (KB/sec)40823770-08
ディスク書き込み総計(KB/sec)3549374105
共有メモリーの使用 (MB)61599862
プロセスメモリーの使用 (MB)9471,06012
ネットワークトラフィック (bytes/sec)632,128725,06315

まとめですが、Linux上のDomino 7は、パーティションあたりのユーザー数は400%も増え、NRPCのスケーラビリティパフォーマンスの面で非常に大きな前進がありました。他のハイパフォーマンスなプラットフォームと同様にDominoを活用できるようになりました。


iSeries

Domino 7 iSeries版についても非常に大きなパフォーマンスのメリットがあります。このセクションでは異なる2つの構成での結果について解説します。ひとつはiSeries model 570でもう一つはiSeries model 810です。これら2つをテストすることでDomino 7のラボでのテストで観察された改善結果の幅の広がりを示したいと思います。

iSeries model 570

最初のテスト環境はiSeries model 570を使います。このサーバーには14個のプロセッサーが搭載されており、余裕のあるメモリーとディスクドライブのリソースを持っています。この構成を選択した理由は、Domino 7では制限のない環境での結果をお見せするためです。また、単一のDominoパーティションでのサポートできるユーザー数の増加についてテストを行うためでもあります。

モデル名 iSeries model 570
CPU14 1.65 GHz
メモリー128 GB
ディスクドライブ93
OSI5/OS V5R3

全てのテストでデフォルトの設定が使用されました。ただし、model 570ではDomino 7のnotes.iniでserver_pool_tasksを100に設定しました。これは単一のDominoパーティションで多くのユーザーをサポートできるようにするためです。 Domino 6.5では最大で10,000 ユーザーに制限されていました。Domino 7ではこの制限が取り除かれ、このテスト用の構成では18,000 ユーザーまでサポートすることができます。CPU使用率を6.5と7で比べてみると、新しいMail7.ntfテンプレートをDomino 7で使用した場合、25%の向上が見られました。さらに、Mail6.ntfを使用した場合には、Domino 7の方が33%も多い10,000ユーザーをサポートすることができました。(図3を参照)


図 3. CPU使用率の比較 (%) 、Domino 7 vs Domino 6.5 (iSeries model 570)

これらの数字は、お客様が実際に使用する環境で見られる最大改善値を示しています。CPU使用率が非常に低くなっている理由は、このシステム構成はDomino Web Accessのテスト用に設定されているためです。Domino Web AccessのテストではNRPCよりもCPUのリソースをより多く必要とします。

以下の二つの表は、10,000人のNotesユーザーをiSeries model 570でシミュレートしたものを比べたものです。最初の表ではMail6のテンプレートを使用しています。

リソース Domino 6.5 Domino 7 変化 (%)
CPU使用率 (%)5.53.7-33
ディスクの読み出し要求数/秒87903
ディスクの書き込み要求数/秒669594-11
ベースプールページ/秒19525028
ネットワークトラフィック量 KB/秒20332022-1
平均リスポンスタイム (ミリ秒) 1 GB/秒 Ethernet8.06.7-16

二つめの表では、Mail7のメールテンプレートを使用した場合を示しています。

リソース Domino 6.5 Domino 7 変化 (%)
CPU使用率 (%)5.54.1-25
ディスクの読み出し要求数/秒87184110
ディスクの書き込み要求数/秒66989734
ベースプールページ数/秒19538396
ネットワークトラフィック量KB/秒2033284140
平均リスポンスタイム (ミリ秒) 1 GB/秒 Ethernet8.07.5-6

どちらのテンプレートでも大幅なCPU使用率の低下が見られています。その一方で、Dominoサーバーは多少高いディスクとメモリーの使用率になっていることが分かります。これはDomino 7で新たに入った機能をサポートするために生じたものです。これらの表から分かることは、単一のパーティションのDomino 7でサポートできるユーザー数が大幅に増え、さらにひとりあたりのCPU使用率が減少していることです。Domino 7では多少消費メモリー量とディスクの処理量が増えていますが、このシステム環境では双方のテンプレートを使ったテストで、リスポンスタイムもDomino 6.5と比較してよい結果をDomino 7は出しています

iSeries model 810

2つのプロセッサーを搭載したiSeries mode 810を使った二つめのテストです。このサーバーは16GBのメモリーと63のディスクドライブを搭載しており、4つのDominoパーティションに構成されています。

モデル名 iSeries model 810
CPU750 MHz x 2
メモリー16 GB
ディスクドライブ63
OSI5/OS V5R3

Notes/Domino 6.5/7双方ともデフォルトのnotes.iniを使用しました。

4つのDominoパーティションがこの環境で構成され、6000から9000ユーザーのポイントでテストしました。6000人のユーザーでテストしたポイントでは、1500ユーザーが各パーティションでアクティブでした。9000ユーザーでは2つのパーティションで3000ユーザーまで増えました。これらの数字は、model 570の構成で1パーティションあたりのユーザー数としてはより一般的なお客様の構成を反映したものになっています。また、ルータータスクでより多くの処理をさせています。

CPU使用率をDomino 6.5と7で比較してみると、Mail7.ntfをDomino 7で使った場合、9000ユーザーで4パーセントの向上が見られます。同じMail6.ntfで比べると、9000ユーザーで18パーセントもの向上が見られます。複数のDominoパーティションで各パーティションにユーザー数が比較的少ない場合は、お客様の環境でもこの程度のパフォーマンス向上が見られるのではないかと考えています。結果は図4を参照してください。


図 4. CPU使用率の比較 (%) 、Domino 7 vs Domino 6.5 (iSeries model 810)

下の表はそれぞれのテンプレートでリソースの使用が削減できたかを示しています。最初の表はMail6を使って9000ユーザーをシミュレートしたものです。

リソース Domino 6.5 Domino 7 変化 (%)
CPU使用率 (%)81.467-18
ディスクの読み出し要求数/秒976772-21
ディスクの書き込み要求数/秒772762-1
ベースプールページ/秒37612804-25
ネットワークトラフィック量 KB/秒18141832+1
平均リスポンスタイム (ミリ秒) 1 GB/秒 Ethernet105.351.4-51

二つめの表では、Mail7のメールテンプレートを使用した場合を示しています。

リソース Domino 6.5 Domino 7 変化 (%)
CPU使用率 (%)81.477.9-4
ディスクの読み出し要求数/秒9761180+21
ディスクの書き込み要求数/秒772753-2
ベースプールページ数/秒37614938+31
ネットワークトラフィック量KB/秒18141850+2
平均リスポンスタイム (ミリ秒) 1 GB/秒 Ethernet105.397.5-7

双方のテンプレートでCPU使用率が低下しているものの、Domino 7ではディスク使用とメモリー消費が増えています。これはMail7.ntfで加わった新機能によるものです。 このセクションで紹介した二つの環境でのDomino 7の性能向上は、お客様の環境でもある程度の範囲で見ることができることでしょう。パフォーマンスの向上はDominoが使えるCPU数、メモリー、ディスク、ネットワークなどのリソースがどの程度かによって変化します。既に紹介した表と説明にあるように、十分なリソースがある場合には、Domino 7とMail6.ntfを組み合わせて使用した場合に、高いレベルのパフォーマンス向上が見込まれます。Domino 7ではスケーラビリティーが向上し、より多くのユーザーを単一のDominoパーティションでサポートできるようになり、サーバーを統合することで少ないDomino パーティションで大きく向上したパフォーマンスを提供できるようになりました。


Solaris 9

Sun 6800は12CPUを搭載していますが、テストには8CPUを使用しました。T3アレイを6つ使用し、それぞれに9個のドライブが接続されています。

モデル名 Sun 6800
CPU1050 MHz x 8
メモリー32 GB
アクティブな物理ドライブ54
アクティブな論理ドライブ6 - RAID 0 Arrays
OSSolaris 9

サーバーに以下のnotes.iniの設定変更を行いました。

Domino 6.5 Domino 7
nsf_buffer_pool_size_mb=1536
ServerTasks=Router
server_pool_tasks=100
server_max_concurrent_trans=100
NSF_dbcache_maxentries=18000
MEM_EnablePreAlloc=1
DEBUG_ENABLE_SYS_V_SHM=1
ConstrainedSHMSizeMB=3300
ServerTasks=Router

Domino 6.5のテストでは1.5GBをNSF Buffer Poolに使用しましたが、Domino 7ではデフォルトの1.2GBまで少なくしています。これは、サポートする必要があるユーザーの数が増えたための措置です。また、server_pool_tasks、server_max_concurrent_trans、NSF_dbcache_maxentriesを増やし、増加したアクティブユーザーをサポートできるようにしています。その他の変更はSolarisでラージページサポートを有効にし、Domino 7が使えるようにしています。
Domino 6.5では、ハンドルを使い切っていないにもかかわらず、最大で10,000 のNotesユーザーが限界でした。Domino 7ではこの制限がなくなり、このテストにおいてはSolarisでは18,000 ユーザーまでサポートできました。加えて、18,000のうち10,000がアクティブな状態で計測したところ、CPU使用率は45%も低下していました。また、図5に見られるように、Domino 6.5で10,000ユーザーがアクティブな状態でのCPU使用率と同じCPU使用率で、Domino 7は14,000から15,000ユーザーをサポートすることができます。


図 5. CPU使用率 (%) 、Domino 7 vs Domino 6.5 (Solaris 9)

以下の表は、双方のテンプレートを使って、6.5の最大数である10,000ユーザーが接続した際のリソースの利用状況を測定したものです。最初の表は10,000ユーザーがMail6テンプレートを使った時のものです。

リソース Domino 6.5 Domino 7 変化 (%)
CPU使用率 (%)34.918.8-46
ディスク読み込み総計 (KB/秒)29,01129,3821
ディスク書き込み総計(KB/秒)13,63112,248-10
共有メモリーの使用 (MB)27062114-22
プロセスメモリーの使用 (MB)1856211
ネットワークトラフィック (バイト/秒)1,934,8011,912,166-1

二つめの表では、Mail7のメールテンプレートを使用した場合を示しています。

リソース Domino 6.5 Domino 7 変化 (%)
CPU使用率 (%)34.922.8-35
ディスク読み込み総計 (KB/秒)29,01130,5835
ディスク書き込み総計(KB/秒)13,63113,9903
共有メモリーの使用 (MB)27062173-20
プロセスメモリーの使用 (MB)211421142114
ネットワークトラフィック (バイト/秒)1,934,8011,908,093-1

プロセスメモリーは、Domino 7の構成ではより大きくなっています。これは追加で多くのユーザーをサポートするために加えられた構成の変更によるものです。Domino 6.5の数字はMail6テンプレートを使用した時のものです。

単一のDomino 7のパーティションでSolarisでは18,000ユーザーまでスケーラビリティーが向上しました。6.5の時は10,000 でした。加えて、多くのユーザーが同時にアクセスした場合には、同じユーザーの負荷をかけた場合で比較するとCPU使用率が大幅に低下します。


Windows 2003 Enterprise Server

Domino 7は単一のパーティションで構成
eServer xSeries 365にWindows 2003 Enterprise Serverをインストールし、さらにDomino 7がインストールされています。サーバーは2CPUでハイパースレッディングはありません。Windowsから認識されているメモリーは3.5 GBです。Dominoの実行ファイルはIBM FAStT 600 (200 GB、RAID 0) のひとつにインストールされています。メールデータベースは5本のIBM FAStT 600 アレイ (RAID 0)に分散して配置されています。ネットワークアクセスは1GBのEthernet が一つで、全二重モードで動作しています。以下の表はxSeriesサーバーの設定を示したものです。

モデル名 eServer xSeries 365
CPU3.0 GHz x 2
メモリー3583 MB
アクティブな物理ドライブ62
アクティブな論理ドライブRAID 0 アレイx 5
OSWindows 2003 Enterprise Server

今回の他のテストの殆どの場合で、以下の通りサーバーのnotes.iniを調整しました。

Domino 6.5 Domino 7
NSF_buffer_pool_size_MB=300
Server_Pool_Tasks=60
Server_Max_Concurrent_trans=100
NSF_DBcache_maxentries=10000
platform_statistics_enabled=1
platform_statistics_enabled=1
DEBUG_SHOW_SEM=1
NSF_Buffer_Pool_Size_MB=250
server_pool_tasks=60
server_max_concurrent_trans=100
NSF_DBcache_maxentries=15000

他のプラットフォームでお見せしたように、Windows 2003 Enterprise ServerでのDomino 7はCPU使用率の低下とスケーラビリティーの向上が期待できます。Domino 7でサポートされる最大ユーザー数は15000まで増加しました。6.5では10,000 が最大でした。
10,000ユーザーの負荷をかけた場合に、Domino 6.5と比べるとDomino 7ではCPU使用率の大幅な低下が確認できました。6.5では58%であったのは47%になりました。約19%減りました。このCPU使用率の低下はユーザー数の増加につながります。図6に見られるように、12,000から14,000ユーザーをサポートすることができます。同じCPU使用率の状態ではDomino 6.5では10,000が最大アクティブユーザー数でした。


図 6. CPU使用率の比較 (%) 、Domino 7 vs Domino 6.5 (Windows 2003 Enterprise Server)

以下の表は、双方のテンプレートを使って、6.5の最大数である10,000ユーザーが接続した際のリソースの利用状況を測定したものです。最初の表は10,000ユーザーがMail6テンプレートを使った時のものです。

リソース Domino 6.5 Domino 7 変化 (%)
CPU使用率 (%)5841.6-28
ディスク読み込み総計 (KB/秒)18,65114,375-23
ディスク書き込み総計(KB/秒)11,12710,434-6
共有メモリーの使用 (MB)12941199-7
プロセスメモリーの使用 (MB)234074
ネットワークトラフィック (バイト/秒)2,068,1842,049,162-1

二つめの表では、Mail7のメールテンプレートを使用した場合を示しています。

リソース Domino 6.5 Domino 7 変化 (%)
CPU使用率 (%)5846.9-19
ディスク読み込み総計 (KB/秒)18,65118,138-3
ディスク書き込み総計(KB/秒)11,12711,5053
共有メモリーの使用 (MB)12941184-8
プロセスメモリーの使用 (MB)2346100
ネットワークトラフィック (バイト/秒)2,068,1842,051,6151

双方のテンプレートで大きなCPU使用率の低下がみられたものの、Dominoサーバーは7のテンプレートに加えられた新機能を使うために多少リソースを多めに消費していることが分かります。

ベンチマーク結果からお分かりのように、Windows 2003 Enterprise Server上でのDomino 7は6.5と比べて大幅にパフォーマンスが向上していることが分かります。この中にはCPU使用率の低下やメモリー消費の改善や、50%以上増えたユーザー数などがあります。


Linux on zSeries

Domino 7とDomino 6.5のzSeriesを比較した場合、Notes Mail、R6Mailワークロードでは、CPU使用率が25から30%の低減が確認されました。また、トランザクションロギングでは、10から14%の低減(zSeriesで使用された場合では、ハードウェアによるデータ圧縮支援機能)が確認されました。さらに、Domino 7の様々なクロスプラットフォーム(クイックプールの実装やメモリーのフラグメント)が改善されたことで、別にCPUが10から20%節約されました。Domino 6.5とDomino 7との比較には、SLES 8 SP3を使用しました。しかし、SLES 9の測定値がSLES 8を超えて、CPU使用率の約10%の節約を示したので、Domino 7ではSLES 9を使用することをお薦めします。SLES 9は、64ビットオペレーティングシステムです。そして、複数のDominoパーティション(DPAR)は、シングルLPARにインストール可能です。

これらのCPU使用率の低減は、R6Mail ワークロードを使用して測定されました。Domino 7のメールテンプレートに含まれる追加機能により、R6Mail ワークロードテストの実行時に、5から15%のCPU負荷がかかることがわかりました。このことは、CPU低減の一部を埋め合わせてしまうと思われます。このセクションでは、Domino 6およびDomino 7のメールテンプレートの両方のCPU使用率の低下について述べています。Domino 7メンテナンスリリースを含む、将来のDominoリリースにおいて、CPU使用率を低減することは継続的にフォーカスされています。

すべてのzSeriesパフォーマンステストは、z990 Model 2084-C24の1つの論理区(LPAR)で行いました。z990は、24の有効なCPUを持ち、そして、そのうちの6つがパフォーマンステストLPARに割り当てられます。残りの18のCPUは、他のマシンリソースと同様に、Domino開発とテストアクティビティのために使われた他の13のLPARsとの間で分けられています。このマシンは、z/OS、SLES 8、SLES 9、REL 4といった、Quattroブートを持っています。 NRPC mailテストのため、より高いCPU負荷をもつロードテストを運用するために、6つのうち3つのCPUをDomino 6.5とDomino 7に使いました。Domino 6.5は、SLES 9、REL 4の上では動作しません。パフォーマンステストLPARは、12GBメモリで構成されています。LANは、他のネットワークトラフィックインターフェースの関係のないアクティビティを避けるために、孤立されています。すべてのディスクは、それぞれのディスクが3390 Model 3として構成された Enterprise Storage Server(2105 Model 800)から割り当てられています。Dominoの実行、データ (クライアントメールデータベースは除外)、Dominoアドレス帳(Names.nsf)、トランザクションロギングのための論理ボリュームマネージャー(LVM)ファイルシステムの2ボリュームのために、ひとつのボリューム(ディスク)で割り当てられた別々のファイルシステムがあります。クライアントメールデータベースは、52のLVMファイルシステムを超えて配布されました。ファイルシステムあたり11.5GBの有効スペースを提供しているひとつのLVMで、5つのボリュームにわたってそれぞれ割り当てられています。EXT 3ファイルシステムは、Linux for zSeriesで使用されました。インストールされたオペレーティングシステムは、SLES 8 SP3またはSLES 9 SP1でした。

SLES 8では、31ビットのオペレーティングシステムとスワップスペースへの2GB拡張メモリのため、セントラルメモリーに使用されるのは2GBだけです。SLES 9では、合計で12GB使いました。以下の表に、ハードウェア構成を示します:

モデル名 z990 2084-C24
CPU専用CPU x 3
メモリー12 GB
DASDタイプ2105 model 800, 3390 model 3 type volumes
ファイルシステム52 x 5 LVM メールデータベース、Notesデータ、notesbin、Dominoディレクトリー、mailbox、ユーティリティー、トランザクションログ用に7つのボリュームを使用
OSSLES 8 SP3 / SLES 9 SP1

テストに先立ち、Domino 6.5と7についてnotes.iniの設定を以下のように変更しました。
TRANSLOG_Status=1
TRANSLOG_MaxSize=3000
TRANSLOG_Performance=1
NSF_Buffer_Pool_Size_MB=256
Server_Pool_Tasks=100
ServerTasks=Router
NSF_DBCache_MaxEntries=10000

図7はDomino 6.5と7でのCPU使用率の改善を示したもので、NRPCでMail6とMail7のテンプレートのいずれかでワークロードをかけた場合の測定結果です。


図 7. CPU使用率の比較、Domino 7 vs Domino 6.5 (Linux、zSeries)

今回のテスト手順では、1000クライアントの追加ごとに、あるいはスタートから1時間は待つようにしています。これは「安定した状態」を作り出すためです。CPU使用率は1時間後の安定した状態での平均値です。Domino 6.5での最大Notesクライアントユーザー数は10,000で、Domino 7では12,000まで増えました。

図7は、6.5のテンプレートを使った場合Domino 7のCPU使用率が15%から28%の範囲で改善されたことを示しています。また、Mail7のテンプレートの場合は9%から21%の範囲であったことを示しています。Domino 7では明らかに双方のテンプレートでもCPU使用率の改善があったことが分かります。開発陣としては、将来のDominoのリリースにおいて、Mail7テンプレートの最適化に焦点を合わせて開発を進めていく予定です。

図8はSLES 9でのCPU使用率の改善を示したものです。ここではDomino 7+Mail6テンプレートを使用した場合、1%から18%の範囲で改善が見られたことが分かります。6000ユーザーを超えると、SLES 8では実メモリーを使い果たし、スワップページの読み書きが発生しました。しかし、SLES 9ではそのようなことはありませんでした。それは、SLES 9ではメモリーが十分あったためです。したがって、6000ユーザーを超えるとzSeries上のLinux環境ではSLES 8よりSLES 9の方がCPU使用率でより大きな改善があったことになります。


図 8. CPU使用率の向上 (%) 、Domino 7 vs Domino 6.5 (SLES9)

ワークロードはDomino 6.5と7で同じだけの負荷を生成させています。それぞれネットワークの送受バイト数は同一ですし、送信したメール数は同一で、処理したトランザクション数も同一です。Domino 7でのCPU使用率の削減は、高いワークロード時における安定稼働改善につながります。また、単一のDominoサーバーでサポートできるクライアント数の増加にもつながります。さらに重要なことは、CPUの要件が軽くなることで、Domino 6.5と比べてTCOの削減につながることです。


z/OS

zSeries z/OSプラットフォーム上で稼働するDomino 7に関しては、Dominoのサーバーコードの改善に加えて、zSeries専用のハードウェア機能が使用されます。最初に興味があるエリアはトランザクションログのメリットとパフォーマンスへの影響です。トランザクションログは大きなメリットを提供してくれますが、CPUへの負荷が明らかに余計にかかります。最大で使用しているCPUパワーの1/3がデータの圧縮に使われていました。Domino 7ではハードウェアを補助機能として使ったデータ圧縮機能が使われています。今回のベンチマーク測定では、トランザクションログを使用した場合に、全体として10から11%のCPU使用率の改善が見られました。(ハードウェアの圧縮支援機能を利用した場合。Domino 6.5が持つアルゴリズムでソフトウェア的に圧縮した場合の比較)

Domino 7の潜在的なパフォーマンスの可能性を明確化するための一つのテクニックは、ストレステスト中に内部のオペレーションを分析することです。このデータをプラットフォーム間で分析することで、z/OSは他のプラットフォームのいくつかと比較して、各Notesクライアントが読み書きするためのネットワークバッファーメモリーの割り当てが必要であることが分かりました。z/OSでのメモリーアロケーションのアルゴリズムを改善することにより、今回のテストでは7%のCPU使用率の低下につながりました。

その変更単独だけでも、Domino 7では17%から20%のCPU使用率の低下がみられました。加えて、Domino 7での様々なクロスプラットフォームの改善により10%のCPU使用率が改善されました。メールのベンチマークテストでは総合的に25から30%の改善がみられました。(詳細は後述)

このCPU使用率の改善はDomino 6のテンプレートを使用して、R6Mailワークロードを使ってDomino 6.5/7それぞれで測定されました。前に述べたように、Domino 7のメールテンプレートに含まれる機能によりCPU使用率の改善は多少帳消しになっています。

このセクションで記した全てのパフォーマンステストの結果は、z990 model 2084-C24の単一の論理パーティション(LPAR)で測定したものです。z990には24CPUありますが、6つをパフォーマンスでつかうLPARに割り当てています。NRPCのメールテストについては、そのうち3つのCPUだけを使用して高いCPU使用率になるよう負荷をかけてみました。LPARのパフォーマンステストでは12GBのセントラルストレージメモリーを設定し、Gigabit Ethernet Open Systems Architecture (OSA) カードを使用しました。LANはネットワークトラフィックの影響を避けるために、独立したものにしています。ディスクは、Enterprise Storage Server (2105 Model 800) アレイから割り当てており、各ディスクは3390 model 3として設定しています。別個にz/FS のファイルシステムが単一ボリューム(ディスク)に設定されておりDominoの実行ファイル、データ(メールデータベースは除く)、Dominoディレクトリー(Names.nsf)に使われています。ファイルシステムは2つのボリュームをまとめたもので、トランザクションログに割り当てられています。クライアントのメールデータベースは均等に53のz/FSに分散して配置しています。それぞれ5つのボリュームをまとめたもので利用可能な領域は11.5GBあります。OSはz/OS version 1 release 5です。
以下の表は今回のテストで使用したハードウェアの設定内容です。

モデル名 z990 2084-C24
CPU専用CPU x 3
メモリー12 GB
DASDタイプ2105 model 800、3390 model 3ボリューム
ファイルシステム53 x 5 z/FS メールデータベース、他にNotesデータ、notesbin、Dominoディレクトリー、mailbox、utility、トランザクションログに7つのボリュームを使用
OSz/OS 1.5

このテストではDomino 6.5と7についてnotes.iniの設定を以下のように変更しました。

TRANSLOG_Status=1
TRANSLOG_MaxSize=3000
TRANSLOG_Performance=1
NSF_Buffer_Pool_Size_MB=128
Server_Pool_Tasks=100
ServerTasks=Router
NSF_DBCache_MaxEntries=10000

図9はNRPCのメールワークロードでCPU使用率の改善を比較したものです。Mail6のテンプレートかMail7のテンプレートのいずれかを使用して測定しています。


図 9. CPU使用率の比較、Domino 7 vs Domino 6.5 (Linux、zSeries)

zSeries上のLinuxでのテストでは、1000クライアントの追加ごとに、あるいはスタートから1時間は待つようにしています。これは「安定した状態」を作り出すためです。CPU使用率は1時間後の安定した状態での平均値です。Domino 6.5での最大Notesクライアントユーザー数は9000で共有メモリーを使い果たしましたが、Domino 7では10000を超えて増えやすことができました。

図9はDomino 6.5のテンプレートを使用した場合、CPU使用率の改善が21から29%の範囲であったことを示しています。また、Domino 7のテンプレートをDomino 7で使用して測定した場合には、10から19%の改善かあったことを示しています。空きからに、Domino 7ではMail6.ntf、Mail7.ntfの双方でCPU使用率が改善しています。

図10はDomino 7上でのサーバータスクからくる改善を示しています。ルータータスクのCPU使用率は6.5と7では変化がありません。


図 10. サーバータスクの向上

Domino 6.5と7では同じ量の負荷をワークロードは生成しています。


まとめ

この記事では、NotesクライアントワークロードによるDomino 7サーバーのパフォーマンスについて解説しました。Notes/Domino 7は、プラットフォームのアーキテクチャーの違いが影響するにもかかわらず、計測した全てのプラットフォーム上でのスケーラビリティに重要な改善がなされています。一般的に、十分なリソースを持つDomino 6.5の構成では10000ユーザーが制限ですが、その制限を超える結果が確認されています。SolarisとiSeriesでは、他のプラットフォームよりいくぶん大きなアドレス空間にアクセスしますので、18000ものベンチマークユーザーという結果が得られました。SuSE Linuxでは、Dominoの他のプラットフォームと類似しており、sys-epollカーネルのスレッドプールを実行することにより有効性を得られます。その結果、3000ユーザーから15000ユーザーへの劇的なスケーラビリティーの増加になりました。これらのスケーラビリティーの改善により、追加ユーザーのためのリソースがあれば、サーバーの統合が可能になります。

この記事は比較的以前に作成されたため、三回シリーズの第一回目にあたります。パート2では、Domino Web Accessユーザーのシミュレーション(R6iNotesワークロードを使用)を計測したDomino HTTPパフォーマンスの結果について論じています。パート3では、Notesクライアントと同様に、クラスタレプリカ、ローカルレプリカ、全文索引を含むワークロードを使用することで、典型的な企業環境において期待される結果が得られました。


参考文献

著者について

Members of the Notes/Domino Performance Team who contributed to this article include Rich Buck, Wu W Huang, Angelo Lynn, Dave Johnson, Joseph H Peterson, James Powers, and Andrew Nolet.

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


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=339414
ArticleTitle=Lotus Domino 7 サーバーパフォーマンス Part 1
publish-date=09272005
author1-email=razeyah@us.ibm.com
author1-email-cc=

タグ

Help
このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。

スライダーバーを使用することで、より多く(少なく)タグを表示します。

人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。

マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。

このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。