この記事はLotus Domino 7で測定した結果からパフォーマンス向上について解説する3回連続記事の2回目にあたります。今回はR6iNotesワークロードで計測した場合のLotus Domino Web Accessのベンチマークに焦点をあてています。最初の記事「Lotus Domino 7 サーバーパフォーマンス Part 1」ではLotus Notesクライアントからアクセスした場合のパフォーマンス計測結果について解説しました。最後の回では、より実際の企業の利用環境に似せた、例えばLotus Notesクライアントからアクセスに加えてクラスタリング複製やローカル複製、全文索引などを加えた環境での結果を紹介する予定です。
パフォーマンスの向上とそれによるTCOの削減はLotus Domino 7の大きなテーマです。Lotus Domino Web Accessに関しては、1ユーザーをサポートするのに必要なサーバーCPU使用率の削減とそれによるスケーラビリティーの向上に注力しました。また、コードを最適化することでボトルネックを最小化することも行いました。このようなことを行い、より少ないCPU使用率でより多くのユーザーをサポートできるようにしました。R6iNotesユーザーでテストを行った結果、全てのプラットフォームでCPU使用率が減少していることを確認しました。CPU使用率の削減により最大レベルのパフォーマンス向上を図ることができました。これはお客様の環境でも見ることができるかと思います。
環境のアーキテクチャーによりそれぞれ度合いは異なりますが、測定した全てのプラットフォームでLotus Domino 7はパフォーマンスが向上しています。CPU使用率とメモリー使用率を削減することで、Lotus Domino Web Access使用時に全てのプラットフォームでサポートユーザー数の面でスケーラビリティーが向上させることができました。このスケーラビリティー向上は追加でサポートできるユーザー数の増加であり、サーバー統合にもつながります。
これ以降、各プラットフォームでのベンチマーク結果を紹介していきます。この結果は単一のLotus Dominoパーティションで、原則トランザクションログを使用していない結果です。(明記されている場合を除く。) Lotus Domino 7の結果は7のテンプレートであるdwa7.ntfを使用しています。Lotus Domino 6.5の場合は6.5付属のiNotes6.ntfを使用した結果です。
すべての結果はLotus Dominoから1秒以下リスポンスタイムであることを意味しています。ベンチマークの目的から、特に明記されている場合を除いてRouterとHTTPタスクのみを動作させています。これは他のタスクの動作により測定が邪魔されることを避けるためです。これらの情報がお役に立てれば、またLotus Domino 7での性能向上をご理解いただければ幸いです。
| ※注意 この結果は管理された環境下で行われたベンチマークの結果です。典型的なユーザー操作に近くなるようにベンチマークは作るようにしていますが比較的限られた機能で構成されており、実際のユーザーはそれとは異なる操作を行います。したがって、ここに示した数値はLotus Domino 6.5と7との間での相対的な比較を行うことが主たる目的であり、実際の展開に用いる場合の推奨値を示す、あるいは算出するためのものではないことにご注意ください。キャパシティープランニングに関しては、ハードウェアベンダーにご相談することをお勧めします。様々なプラットフォームやハードウェアでの結果を紹介しますが、それらの構成は等しいキャパシティーを示すものではありません。したがって、ここでのデータを異なるプラットフォーム間で比較することは行わないでください。あくまで、ここではLotus Domino自体のパフォーマンスについてのみ焦点をあてて比較することを目的にしています。 |
以下のセクションでは、プラットフォーム毎に解説していきます。
以下のハードウェア構成でテストを実施しました。
| モデル名 | p670 |
| CPU | Power4 CPU 1.4 GHz x 32 (物理数) を3つの論理区画 (LPAR) に分割。各LPARには8CPUを割り当ててテストを実施。 |
| メモリー | テスト用LPARは32 GBのメモリーを割り当て。 |
| アクティブな物理ドライブ | 64個のSSAドライブをDominoのバイナリーとDominoのデータ用に4つのトレイに設定。(各トレイは論理ボリュームでもある。) 各ドライブあたり15の9 GBドライブ、JFSログ用に9 GBのドライブを1つ割り当て。 |
| アクティブな論理ボリューム | 5論理ボリューム
|
| OS | AIX 5.2 |
パフォーマンスを最適化するために、サーバーのnotes.iniに以下の設定を行いました。
| Domino 6.5 | Domino 7 |
| NSF_Buffer_Pool_Size_MB=450 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=450 Server_Pool_Tasks=100 Server_Max_Concurrent_Trans=100 NSF_DbCache_MaxEntries=2000 NSF_DbUCache_Max_Entries=12000 Server_Transinfo_range=12 ServerTasks=Router,LDAP,HTTP,SMTP |
AIXではセグメント化されたメモリーアーキテクチャーを採用しており、共有メモリーとヒープ領域として使われるセグメント数を制限しています。したがって、NSF_Buffer_Pool_Sizeの値はデフォルト値より少ないものを使用し、テストにおいてシミュレートするユーザーレベルが高くなるようにしています。実際の環境では、NSF_Buffer_Pool_Sizeの値は多少高い値を設定されるだろうと想定しています。Server_Pool_TasksとServer_Max_Concurrent_Transの値は各Dominoリリースで高いスケーラビリティーをサポートできるように設定しました。デフォルト値から変更を行う場合には、これまで使用してきた値での分析を行うことをお勧めします。
Server_Transinfo_rangeのnotes.iniパラメーターは、実際に使われている全てのDominoサーバーで設定することを推奨します。これに設定する値を決めるには、Server Expansion FactorとServer Availability Indexをモニターし、繰り返し調整を行うことが必要です。この値について理解し設定するには、Domino管理者ヘルプを参照してください。
図1では、Domino 6.5と比較して、R6inotes仮想ユーザーで必要とされるCPUリソースが大幅に削減されているのがわかるかと思います。
図1. CPU使用率 for AIX

削減される値は、サーバーのビジー度合いにより異なりますが、6500ユーザーではDomino 7では約53%です。同じ条件で6.5の場合には92%でした。つまり42%もCPU使用率が削減できたことになります。また、このベンチマーキングでは、Domino 7は10,500ユーザーを、Domino 6.5で6500ユーザーを動作させた時と同じCPU使用率でサポートできました。
以下の表はCPU、ディスク、メモリー、ネットワークリソースが、6500ユーザーをDomino 6.5と7で動作させた場合にそれぞれどうだったかについてまとめたものです。CPU使用率の削減に加えて、ネットワーク使用帯域が削減されていることや、ディスクのアクティビティー量が増えていることがわかります。プロセスメモリーはサーバープールタスクが増加したことにより高くなっています。Domino 7のテストでは、最大同時トランザクションが使われていることも高くなっている理由です。
| リソース | Domino 6.5 | Domino 7 | 変化 (%) |
| ユーザー数 | 6500 | 6500 | n/a |
| CPU使用率 | 92 | 53 | -42 |
| ディスク読み込み総計 (KB/sec) | 112,680 | 186,457 | 65 |
| ディスク書き込み総計(KB/sec) | 1,597,255 | 1,608,150 | 0.7 |
| 共有メモリーの使用 (MB) | 1128 | 1163 | 3 |
| プロセスメモリーの使用 (MB) | 68 | 128 | 88 |
| ネットワークトラフィック (bytes/sec) | 1,823,930 | 679,017 | -63 |
この表から、同じ条件で同じ時間をかけて計測した結果、Domino 6.5と比較してDomino 7では約42%CPU使用率が削減され、ネットワークリソースでは63%削減され、共有メモリーは3%増加し、ディスクI/Oは65%増加したことがわかります。このことから、AIX/pSeriesではDomino 7を使用することでサーバー統合を進めることができることがわかります。
前述の通り、今回のp670は3つの論理パーティションに分割されており、その一つを使ってテストを行いました。他の2つのパーティションについては、テスト中も十分に負荷がかかっている状態でした。P670では複数の異なるアクティビティーを実行でき、その状態でもなおこのように大きなテスト結果が出すことができました
このDomino Web Accessのベンチマークのテストで使用した構成は以下の表の通りです。システム構成は控えめなIntelプラットフォームの1.4GHz Xeon MP CPU (ハイパースレッド対応版) を使用したもので、メモリーは4GBを搭載しています。ディスクはSCSIコントローラーに接続されたIBM EXPアレイと2つのQLogicのファイバーカード経由で接続されたFAStT 600システムの混在システムです。ここでの目標はディスクに関係するボトルネックをすべて排除することにあります。それにより、15,000ユーザーを達成できました。OSはSuSE SLES 9で、Domino 7は、NPT: Posixライブラリーなどカーネル2.6の機能を生かせるようになっています。
| CPU | 1.4GHz Xeon MP CPU x 4 |
| メモリー | 4GB |
| アクティブな物理ドライブ | SCSIコントローラー + EXP300 RAIDアレイ x 3 EXP700 x 2 + FAStT 600 x 1 (RAID 0構成) |
| アクティブな論理ボリューム | 14ボリューム
|
| OS | Linux SuSE SLES 9 SP2 |
次の表はデフォルトから変更したnotes.iniの内容を示したものです。ここで特記事項として記しておきたいものとしてConstrainedSHMSizeMBがあります。Lotus Domino 6.xではこの値は1GB前後を設定する必要がありました。その理由はLotus Dominoは2GBしか使用できないからです。(SuSE SLES 8 と SLES 9では、Dominoは2GBまでしか使用できない制限があります。) そして、その一部はスタックスペースとして必要になります。Lotus Domino 7では、このパラメーター値を増やしています。それはSuSE SLES 8 と SLES 9でデフォルトで4GBまでメモリーを割り当てる方法がわかったからです。これはtunekrnlと呼ばれる特別なプログラムで実現しています。このプログラムは自動的にシステムパラメーターを調整して、Lotus Dominoがより効率的に動作できるようにするものです。また、この表にあるように、NotesBenchのテストに必要なタスクのみにサーバータスクを制限しています。これにより、テストでのパフォーマンスが最大となるようにしています。
| 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 |
NRPCでDomino 6.xと通信するのと異なり、Linux上のDomino Web Accessではユーザー毎にHTTPスレッドやスタックを必要としません。HTTPタスクそれ自体でプーリングを実施できますので、デフォルトの40のHTTPスレッドで数千ユーザーをサポートできるのです。これはLotus Domino 6.xと7のどちらにも当てはまり、これにより、CPUがサポートできるユーザー数を制限する要因になるようにしています。
Lotus Domino 7ではユーザーをサポートするために必要とされるCPU使用率が大幅に減少しています。図2ではCPU使用率の減少を%で示しており、Lotus Domino 7では6.5と比べて50%前後も多くのユーザーをサポートできることを示しています。
図2. CPU使用率 (Linux)

以下の表は4000のDomino Web Accessユーザーのシミュレートを6.5と7で行った場合の比較したものです。4000ユーザーで計測した理由は、このハードウェアでLotus Domino 6.5がサポートできる最大ユーザー数が4000であるためです。
| リソース | Domino 6.5 | Domino 7 | 変化 (%) |
| ユーザー数 | 4000 | 4000 | n/a |
| CPU使用率 | 95 | 59.4 | -38 |
| ディスク読み込み総計 (KB/sec) | 1483.83 | 1548.51 | 4 |
| ディスク書き込み総計(KB/sec) | 337.78 | 352.12 | 4 |
| 共有メモリーの使用 (MB) | 664 | 949 | 43 |
| プロセスメモリーの使用 (MB) | 70 | 92 | 31 |
| ネットワークトラフィック (bytes/sec) | 427,407 | 483,989 | 13 |
この表からはLotus Domino 7でのCPU使用率の削減が明らかに見て取れます。ディスクアクセスは読み取りおよび書き込みの双方で僅かに増加しており、ネットワーク量も増えています。これらの増加はLotus Domino 7のテンプレートでさらに機能が増えたこと、またNotesBenchのテストスクリプトの変化が影響した結果です。Lotus Domino 7では共有メモリーとプロセスメモリーが増加していますが、これによりLotus Dominoに割り当てられるメモリーを増加できるようになりました。
Linux版Lotus DominoでのDomino Web Accessのスケーラビリティーは大幅に増加しました。別の言い方をすれば、CPU使用率を大幅に抑えることができました。これにより、ユーザーはサーバー統合を行う上での柔軟性を得られますし、あるいは別のアプリケーションを追加するといった拡張を行う柔軟性も得られます。
Lotus Domino 7はiSeries環境でも大きなパフォーマンス面でのメリットをもたらしてくれます。このセクションでは、2つの異なる構成での結果を扱います。一つはiSeries model 570、もうひとつはmodel 810です。これらをつかって、Lotus Domino 7のラボでのテストでどのようなぐあいで進歩したかを紹介します。
最初のテストではCPUを14個積んだiSeries model 570を使い、ディスクとメモリーは十分に搭載されています。この構成を選んだ理由は、制限のない環境でベンチーマークの結果を見たかったためです。それと、単一のLotus Dominoパーティションで性能向上がなされたLotus Domino 7どこまでユーザーをサポートできるかををテストするためです。
| モデル名 | iSeries model 570 |
| CPU | 14 1.65 GHz |
| メモリー | 128 GB |
| ディスクドライブ | 93 |
| OS | I5/OS V5R3 |
以下の図はデフォルトから変更したnotes.iniの設定内容一覧です。
| Domino 6.5 | Domino 7 |
| Server_Max_Concurrent_Trans=1000 | Server_Max_Concurrent_Trans=1000 NSF_Buffer_Pool_Size_MB=1500 |
Lotus Domino 6.5では最大ユーザーが16,000 という限界があります。Lotus Domino 7ではこの制限が緩和されており、今回のテストで使用した構成のiSeriesではdwa7.ntfを使った場合に18,000 、inotes6.ntfの場合には20,000 のユーザーをサポートできるようになっています。CPU使用率の面では、Lotus Domino 6.5と7を比べると、16,000ユーザーの場合には、dwa7.ntfをLotus Domino 7では13%低下しました。inotes6.ntfをLotus Domino 6.5と7で動作させて比べてみた場合、より大きな32%もの低下が見られました。(16,000ユーザーの場合) これらの値はお客様の環境で期待されるCPU使用率低下の最大値になるものと思われます。結果は図3の通りです。
図 3. CPU使用率 (iSeries model 570)

Lotus Dominoサーバーを7へアップグレードする場合、大抵の場合には最初にサーバーをアップグレードして、その後に7のテンプレートを適用します。
以下の表では、双方のテンプレートでのリソースの使用率をしめしたものです。この表では16,000ユーザーをシミュレートし、mail6.ntfを使った場合のものです。
| リソース | Domino 6.5 | Domino 7 | 変化 (%) |
| ユーザー数 | 16,000 | 16,000 | n/a |
| CPU使用率 | 67.0 | 45.7 | -32 |
| ディスク読み込み要求/秒 | 115.3 | 81.6 | -29 |
| ディスク書き込み要求/秒 | 1046.2 | 1206.3 | 15 |
| ベースプールページ/秒 | 413.0 | 220.1 | -47 |
| ネットワーク総計 (KB/秒) | 4308.7 | 4250.3 | -1 |
| 平均応答時間 (msec) 1 GB Ethernet | 124.9 | 137.9 | 10 |
以下の表は、Lotus Domino 7でmail7.ntfを使用した場合の結果です。
| リソース | Domino 6.5 | Domino 7 | 変化 (%) |
| ユーザー数 | 16,000 | 16,000 | n/a |
| CPU使用率 | 67.0 | 58.3 | -13 |
| ディスク読み込み要求/秒 | 115.3 | 279.6 | 243 |
| ディスク書き込み要求/秒 | 1046.2 | 1902.2 | 182 |
| ベースプールページ/秒 | 413.0 | 615.4 | 50 |
| ネットワーク総計 (KB/秒) | 4308.7 | 6999.7 | 62 |
| 平均応答時間 (msec) 1 GB Ethernet | 124.9 | 166.4 | 33 |
いずれのテンプレートでも、大きくCPU使用率が低下しています。Lotus Domino 7のテンプレートに組み込まれている新機能のために、いくつかのものについてはよりリソースを必要とする場合もあることがわかります。
この結果から、Lotus Domino 7は単一のパーティションでより多くのユーザーをサポートできることがわかります。また、ユーザーあたりのCPU使用率が低下していることもわかります。メモリーやディスクやネットワークリソースを増強した場合には、平均リスポンスタイムは僅かに増加しています。Inotes6.ntfテンプレートを使った場合の結果はdwa7.ntfを使った場合より大幅に結果はよくなっています。この表はLotus Domino 6.5と7との間でのリスポンスタイムを比較できますが、以下のセクションで紹介する構成ではさらに大きなリスポンスタイムの向上を紹介します。これは6.5でテストした場合のCPU使用率が7と比較して高いものになることが理由です。
iSeries model 810
ここでは2CPUのmodel 810でテストを行いました。16GBのメモリーと63個のディスクドライブを搭載しており、Lotus Dominoを単一パーティションで構成しました。
| モデル名 | iSeries model 810 |
| CPU | 750 MHz x 2 |
| メモリー | 16 GB |
| ディスクドライブ | 63 |
| OS | I5/OS V5R3 |
Notes.iniはデフォルトのものを6.5、7ともに使用しました。
Lotus Dominoのパーティションは単一とし、1200と1800ユーザーのポイントでデータを測定しました。これは、上記のmodel 570でのテストと比べて、一般的によく使われるユーザー環境により近づけるためです。
6.5と7でCPU使用率を比較すると、dwa7.ntfの場合ではLotus Domino 7の方が1800ユーザーで8%低下していることがわかります。同じMail6.ntfを6.5と7で測定した場合には1800ユーザーで24%低下しています。これらの数字は、パーティションあたりのユーザーが比較的少ない場合、お客様の環境で期待できるパフォーマンス向上の一般的な範囲にあると思われます。結果は図4の通りです。
図 4. CPU使用率 for iSeries model 810

繰り返しになりますが、アップグレードを行う場合にはサーバーを最初に上げ、そのあとでテンプレートをあげるのが一般的なやりかたです。
以下の二つの表は、それぞれのテンプレートでテストしたリソース使用率を示したものです。双方ともCPU使用率は低下していることがわかりますが、また、dwa7.ntfテンプレートに組み込まれた新機能をサポートするためにリソースの使用量が増えていることもわかります。Lotus Domino 7でのCPU負荷が低下したために、双方ともリスポンスタイムは低下しています。この効果はCPU使用率が24%低下したことにより、inotes6.ntfをLotus Domino 7でテストした場合に最も顕著に現れます。以下の表の一部の%の数値は、6.5で測定した結果が低かったことから、大きなものになっている場合があります。その結果、ちょっとした向上が大きな%となることがあります。
この表は、mail6.ntfでシミュレートした場合の結果です。
| リソース | Domino 6.5 | Domino 7 | 変化 (%) |
| CPU使用率(%) | 94.6 | 71.6 | -24 |
| ディスク読み込み要求/秒 | 4.7 | 6.5 | 38 |
| ディスク書き込み要求/秒 | 112.5 | 119.6 | 6 |
| ベースプールページ/秒 | 12.3 | 18.9 | 53 |
| ネットワーク総計 (KB/秒) | 437.3 | 491.2 | 12 |
| 平均応答時間 (msec) 1 GB Ethernet | 554.2 | 250.9 | -55 |
以下の表は、mail7.ntfでテストした結果です。
| リソース | Domino 6.5 | Domino 7 | 変化 (%) |
| CPU使用率(%) | 94.6 | 87.4 | -8 |
| ディスクの読み出し要求数/秒 | 4.7 | 12.1 | 25 |
| ディスクの書き込み要求数/秒 | 112.5 | 186.6 | 66 |
| ベースプールページ数/秒 | 12.3 | 34.5 | 280 |
| ネットワーク総計 (KB/秒) | 437.3 | 780.9 | 178 |
| 平均応答時間 (msec) 1 GB Ethernet | 554.2 | 426.9 | -23 |
この2つのiSeriesのテストからLotus Domino 7の性能向上が明らかになりました。この向上はお客様の環境でも実現されるかもしれません。それは、パフォーマンスの向上はLotus Dominoで使用できるCPUやメモリーやディスクやネットワークリソースにより変化するためです。これまで示した表で示したように、潤沢なシステムリソースがある場合や、Lotus Domino 7でinotes6.ntfを使った場合に、非常に高いパフォーマンス向上を実現できます。Lotus Domino 7の性能向上により、単一パーティションでより多くのユーザーをサポートできるスケーラビリティが向上している結果、より少ないパーティションに統合することができ、より高いパフォーマンスを実現することができます。
12 CPUのシステムを搭載したSun 6800で、8 CPUのドメインを使いテストを行いました。9つのドライブを搭載した6つのT3アレーを使用しました。Lotus Dominoの実行ファイルは最初のアレーにインストールし、ユーザーのデータベースは6つのアレーに分散して配置しました。
| モデル名 | Sun 6800 |
| CPU | 1050 MHz x 8 |
| メモリー | 32 GB |
| アクティブな物理ドライブ | 54 |
| アクティブな論理ボリューム | 6 (Raid 0) |
| OS | Solaris 9 |
以下のnotes.iniの変更を行いました。
| Domino 6.5 | Domino 7 |
| NSF_Buffer_Pool_Size_MB=1536 ServerTasks=Router | NSF_Buffer_Pool_Size_MB=1024 server_max_concurrent_trans=100 nsf_dbucache_max_entries=10000 inotes_wa_profilecachesize=10000 MEM_EnablePreAlloc=1 ConstrainedSHMSizeMB=3300 ServerTasks=Router,HTTP |
Lotus Domino 6.5のテストでは、1.5GBのNSFバッファープールを使用しましたが、Lotus Domino 7ではこれを1GBに減らしました。これによりLotus Domino 7でサポートできるユーザー数を増やすことができるようにしています。また、server_max_concurrent_trans と NSF_dbucache_maxentries とinotes_wa_profilecachesize を増やし、ユーザーからの負荷をうまく取り扱えるようにしています。さらに、Dominoディレクトリーに変更を加え、Solarisのラージページサポートを有効にし、Lotus Domino 7がそれを活用できるようにしています。
| Setting | Domino 6.5 | Domino 7 |
| ユーザー数 | 10,000 | 10,000 |
| HTTPスレッド | 250 | 250 |
| Listenキューサイズ | 6000 | 2000 |
| 同時ネットワークセッション数 | 3000 | 2000 |
| Domino Web Engine - 最大キャッシュユーザー数 | 10000 | 4000 |
図5から、6.5と比較して7ではR6iNotes仮想ユーザーでのCPU使用率が大幅に低下していることがわかります。減少量はサーバーの混雑具合いにもより異なりますが、5500ユーザーの同じ条件ではLotus Domino 7は51%の使用率ですが、6.5では86%になります。相対的には41%の現象となります。これについては、Lotus Domino 7では約9000ユーザーをサポートできるのに対して、同じCPU使用率での6.5では5500ユーザーしかサポートできません。Lotus Domino 7ではCPU使用率が97%の状態で最大9750ユーザーまで到達することができました。
図5. CPU使用率 (Solaris 9)

以下の表は、CPU、ディスクやネットワークリソースがLotus Domino 6.5と7で5500ユーザー接続時にそれぞれどの程度使用されたかを示したものです。CPU使用率の削減については前述の通りですが、それに加えて、ネットワークリソースの消費量はほぼ同等、ディスクアクセスは若干増加していることがわかります。メモリー使用量が大きく違うのは、Lotus Domino 7では構成に変更を加えたことに大きく影響されています。例えば、NSFバッファープールを500MB前後減らしたことの影響がここに現れています。これにより共有メモリー量が現象しています。
| リソース | Domino 6.5 | Domino 7 | 変化 (%) |
| ユーザー数 | 5500 | 5500 | n/a |
| CPU使用率 | 86 | 51 | -41 |
| ディスク読み込み要求/秒 | 1940 | 1659 | -14 |
| ディスク書き込み要求/秒 | 6697 | 7351 | 10 |
| 共有メモリーの使用 (MB) | 2192 | 1603 | -27 |
| プロセスメモリーの使用 (MB) | 118 | 153 | 30 |
| ネットワークトラフィック (バイト/秒) | 533,486 | 525,612 | -1 |
Solaris上のLotus Domino 7はベンチマークで9750ユーザーまで到達できました。同一のハードウェアで6.5を試すと5500ユーザーが最大でした。このことから、スケーラビリティーの面で大幅に優れていることを示しています。それに加えて、CPU使用率が大幅に削減されたことにより、サーバー統合を考える上でもとても価値ある結果です。
Windows 2003 Enterprise Server
ハイパースレッディングをサポートしている8 CPUと3.5GB RAMを搭載したeServer xSeries 365にWindows 2003 Enterprise Serverをインストールし、単一パーティションのLotus Domino 7をインストールした環境でテストしました。Lotus Dominoの実行ファイルは IBM FAStT 200 GB アレイRAID 0にインストールしました。メールデータベースはRAID 0で構成された5つのIBM FastT 200 GBアレイに分散させて配置しました。ネットワークは1 GB Ethernet アダプター(全二重)を一つ搭載しています。以下の表はxSeriesサーバーとLotus Dominoの設定一覧です。
| モデル名 | eServer xSeries 365 |
| CPU | 3.0 GHz x 8 |
| メモリー | 3583 MB |
| アクティブな物理ドライブ | 62 |
| アクティブな論理ボリューム | 5 アレイ (RAID 0) |
| OS | Windows 2003 Enterprise Server |
他のテストと同様に、notes.iniを以下の点で変更しました。
| Domino 6.5 | Domino 7 |
| Show_Server_Performance=1 platform_statistics_enabled=1 | iNotes_WA_EnableProfileStats=1 NSF_DBUCACHE_MAX_ENTRIES=12000 iNotes_WA_ProfileCacheSize=11050 NSF_DBcache_maxentries=11050 NSF_Buffer_Pool_Size_MB=512 Show_Server_Performance=1 platform_statistics_enabled=1 server_max_concurrent_trans=100 |
Lotus Domino 6.5については7000ユーザー、7.0については10000ユーザーと定義しました。
図6はそのテスト結果です。
図 6. CPU使用率 (Windows 2003 Enterprise Server)

図6が示すように、R6iNotes仮想ユーザーに必要とされるCPU使用率は6.5と比べると大幅に削減されています。他のプラットフォームと同様に、Windows 2003 Enterprise ServerでもCPU使用率とスケーラビリティーの面で改善されています。最大仮想ユーザー数は10500でした。6.5が7000ユーザーをサポートした場合と比べて7では非常に大きな削減率を実現しました。また、7000ユーザーでは6.5はCPU使用率が92%であったのに対して7では40%で、削減率は57%にもなりました。CPU使用率が削減されたことにより、仮想ユーザー数は増加することになります。
以下の表は、双方のテンプレートでテストした際のリソースの使用量を示したものです。双方のテンプレートでCPU使用率は大幅に削減されています。Lotus Domino 7のテンプレートを使用した際には、新機能をサポートするために多少リソース使用量が増えています。次のテーブルはmail6.ntfを使った場合の結果です。
| リソース | Domino 6.5 | Domino 7 | 変化 (%) |
| ユーザー数 | 7000 | 7000 | n/a |
| CPU使用率 (%) | 92 | 35 | -62 |
| ディスク読み込み総計 (KB/秒) | 21255 | 13008 | -39 |
| ディスク書き込み総計(KB/秒) | 7345 | 5869 | -20 |
| 共有メモリーの使用 (MB) | 1369 | 1140 | -17 |
| プロセスメモリーの使用 (MB) | 63 | 120 | 90 |
| ネットワークトラフィック (バイト/秒) | 881255 1 | 64986 | -26 |
次のテーブルはLotus Domino 7ユーザーがmail7.ntfを使用したときのものです。
| リソース | Domino 6.5 | Domino 7 | 変化 (%) |
| ユーザー数 | 7000 | 7000 | n/a |
| CPU使用率 (%) | 92 | 40 | -57 |
| ディスク読み込み総計 (KB/秒) | 21255 | 19824 | -7 |
| ディスク書き込み総計(KB/秒) | 7345 | 5975 | -19 |
| 共有メモリーの使用 (MB) | 1369 | 1250 | -9 |
| プロセスメモリーの使用 (MB) | 63 | 120 | 90 |
| ネットワークトラフィック (バイト/秒) | 881255 | 655926 | -26 |
データから読み取れる通り、Windows 2003上でLotus Domino Web AccessをLotus Domino 7で稼働させた場合、6.5と比べて非常に大きなパフォーマンス向上が図れることがわかります。CPU使用率が下がったことやメモリー使用量の削減により、50%も多くのユーザーをサポートすることができます。Lotus Domino 7では6.5と比べてスケーラビリティーやパフォーマンスやTCOの面で改善が進行しています。
Linux on zSeriesでのテストは、ひとつの論理パーティション (LPAR) をz990 model 2084-C24上に設定して行いました。Z990は24CPUですが、6個をそのLPARに割り当てました。残りの18CPUは他の13個のLPARに割り当てられ、開発やテスト用途に使用されています。パフォーマンステストではそのLPARに12GBのメモリーを割り当てました。SLES 8では31bitOSであるため、最大で2GBまでしかメモリーを使うことができません。(他にスワップ領域として2GBの拡張メモリーが使用可能) SLES 9では総計で12GBを使用しました。GB Ethernet Open Systems Architecture (OSA) カードを使用し、LANは他のネットワークとは独立した形で構成しました。ディスクはEnterprise Storage Serverアレイ (2105 Model 800)から割り当てられ、3390 model 3として各ディスクを構成しました。別個のファイルシステムとして単一のボリューム(ディスク)にLotus Dominoの実行ファイルとメール以外のデータ、Dominoディレクトリー (names.nsf) を割り当てました。加えて、論理ボリュームマネージャー(LVM)の2つのボリュームにトランザクションログを割り当てました。クライアントのメールデータベースは均等に52個のLVMに配置しました。それぞれのLVMには5つのボリュームにまたがって割り当てられており、各フィアルシステム毎に11.5GBの領域が確保されています。3つのEXTフィアルシステムがLinux for zSeriesで使われています。OSはSLES 8 + SP3 あるいは、SLES + SP1です。トランザクションログは有効になっています。LZ1のソフトウェアでの圧縮の代わりにハードウェアでの圧縮を使用しました。この機能はzSeriesのLotus Domino 7でのみ利用可能なものです。
| モデル名 | z990 2084-C24 |
| CPU | 6 (占有) |
| メモリー | 12 GB |
| DASDタイプ | 2105 model 800、3390 model 3 タイプボリューム |
| ファイルシステム | 52 x 5 LVM メールデータベース, 7 ボリュームをNotes data、notesbin、Dominoディレクトリー、mailbox、ユーティリティー、トランザクションログ |
| OS | SLES 8 SP3 / SLES 9 SP1 |
テストに先立ち、Lotus Domino 6.5と7のnotes.ini設定に以下のものを入れました。
TRANSLOG_Status=1
NSF_Buffer_Pool_Size_MB=256
ServerTasks=Router, HTTP
NSF_DBCache_MaxEntries=9000
iNotes_WA_ProfileCacheSize=9000
iNotes_WA_ProfileCacheSize=9000
図7が示すように、Lotus Domino 6.5と7を比較した場合に、R6iNotesのメールワークロードで計測した結果CPU使用率での改善が見られます。
図 7. CPU使用率 (Linux on zSeries)

図7ではiNotes6テンプレートでのCPU使用率が25%から32%、Lotus Domino 7では改善したことを示しています。また、dwa7.ntfでは11%から22%改善していることがわかります。明らかに、Lotus Domino 6.5と比べて、iNotes6.ntfとdwa7.ntfではCPU使用率が改善したことがわかります。メールテンプレートをそのまま使うか、あるいはカスタマイズするかによって結果は異なっています。これはテンプレートに含まれる機能の違いによるものです。IBMではこの領域について評価を継続して行っており、機能向上を図りながらもCPUの効率が最大化されるように進めています。
図8は、SLES 9でiNotes6テンプレートをLotus Domino 7で動作させた場合、5%から12%の範囲でCPU使用率が削減されていることを示しています。SLES 9には31bitのSLES 8アーキテクチャーに起因するメモリー制限がありませんので、SLES 9では使用率が高い場合にLotus Domino 6.5から7へあげるメリットを生かすことができます。
図 8. SLES 8と比較したSLES 9でのCPU使用率の向上)

Lotus Domino 6.5と7の双方である程度の同量のワークロードを発生させました。双方とも同一のネットワーク送受信量となるようにし、同一数のメールを送信し、結果的に同一のトランザクション量になるようにしました。その結果、Lotus Domino 7ではCPU使用率が削減されました。これは高いワークロードでスケーラビリティーが向上したことを意味し、単一のパーティションでより多くのユーザーをサポートできることになります。更に重要なことは、要求されるCPUパワーが下がることにより6.5に比べて大幅にTCOを下げることができます。
このセクションで記述される全てのテストは、zSeries z990 model 2084-C24に専用のLAPRをひとつ設定して行いました。搭載されている24CPUのうち、6CPUをそのLPARに割り当てました。残りの18CPUは他の13個のLPARに割り当てられ、開発やテスト用途に使用されています。パフォーマンステストではそのLPARに12GBのメモリーを割り当てました。GB Ethernet Open Systems Architecture (OSA) カードを使用し、LANは他のネットワークとは独立した形で構成しました。ディスクはEnterprise Storage Serverアレイ (2105 Model 800)から割り当てられ、3390 model 3として各ディスクを構成しました。別個のz/FSファイルシステムとして単一のボリューム(ディスク)にLotus Dominoの実行ファイルとメール以外のデータ、Dominoディレクトリー (names.nsf) を割り当てました。ひとつのファイルシステムは2つのボリュームにまたがり、トランザクションログ用に割り当てました。クライアントのメールデータベースは均等に53個のz/FSに配置しました。それぞれのLVMには5つのボリュームにまたがって割り当てられており、各フィアルシステム毎に11.5GBの領域が確保されています。OSはz/OS version 1 release 5です。トランザクションログは有効になっています。LZ1のソフトウェアでの圧縮の代わりにハードウェアでの圧縮を使用しました。
| モデル名 | z990 2084-C24 |
| CPU | 6 CPU (占有) |
| メモリー | 12 GB |
| DASDタイプ | 2105 model 800、3390 model 3 タイプボリューム |
| ファイルシステム | 53 x 5 z/FS メールデータベース、7ボリュームをNotes データ、notesbin、Dominoディレクトリー、mailbox、ユーティリティー、トランザクションログ |
| OS | z/OS 1.5 |
Lotus Domino 6.5と7双方のnotes.iniに以下の変更を加えました。
files: TRANSLOG_Status=1
NSF_Buffer_Pool_Size_MB=256
ServerTasks=Router. HTTP
NSF_DBCache_MaxEntries=10000
iNotes_WA_ProfileCacheSize=10000
iNotes_WA_ProfileCacheSize=10000
We defined 10,000 users for this test.
図9は、R6iNotesのワークロードで計測した場合のCPU使用率の変化を見たものです。6.5のiNotes6、7のdwa7.ntfでそれぞれ計測したものです。この図から、CPU使用率の改善はiNotes6テンプレートをLotus Domino 7で使った場合には27%から34%、dwa7.ntfをLotus Domino 7で動作させた場合には10%から24%になりました。ご覧の通り、Lotus Domino 7ではinotes6とdwa7の双方で、6.5と比べて改善がなされています。
図 9. CPU使用率 (Linux on z/OS)

図10ではLotus Domino 7でのHTTPタスクから得られる性能向上の多くが見られます。RouterタスクもまたLotus Domino 7ではCPU使用率の改善がなされていることがわかります。
図 10. CPU使用率 (Server、Router、HTTP、Event タスク)

Lotus Domino 6.5と7の双方である程度の同量のワークロードを発生させました。双方とも同一のネットワーク送受信量となるようにし、同一数のメールを送信し、結果的に同一のトランザクション量になるようにしました。その結果、Lotus Domino 7ではCPU使用率が削減されました。これは高いワークロードでスケーラビリティーが向上したことを意味し、単一のパーティションでより多くのユーザーをサポートできることになります。
Lotus Domino 7のDomino Web Accessのパフォーマンスに関して2つの側面に対して作業を行いました。一つはコードのボトルネックを超えたスケーラビリティーの増加、もう一つはCPU使用率の削減と以前のリリースには存在したリソースの競合の削減です。サーバーハードウェアのパフォーマンスの向上に伴い、多くのユーザーはサーバーの統合を考えています。ですので、私たちはそれが実現できるように、お手伝いができることが求められていました。最終的に、6.5と比較してベンチマークユーザー数の増加を全てのプラットフォームで実現できました。私たちがテストサーバーに対して行ったことと同様なハードな稼働を、実際のサーバーで行いたいとは皆様は考えないかと思います。が、Lotus Domino 7は6.5と比べて50%も多くのユーザーをサポートできることを知っておいて悪くはないことでしょう。
スケーラビリティーが向上したことに加えて、Lotus Domino 7は同一ユーザー数をサポートするためのCPUパワーを削減することができます。その量はプラットフォームやサーバーの利用度合いによって異なりますが、全体的に見て最も利用頻度が高い状態のサーバーでも大きな進歩があることを確認できました。
- developerWorks Japan: Lotus: Lotusの日本の技術情報サイトです
- developerWorks: Lotus(US) : Lotusの英語の技術情報サイトです
- このシリーズの第一回目、「Lotus Domino 7 サーバーパフォーマンス Part 1」では、Lotus Notesクライアントからアクセスした場合の結果について論じています。
- 今回のテストで使用されたR6Mailワークロードの詳細については次の記事を参照してください。『The New Domino 6 NotesBench workloads: Heavier by request』(US)
- server.loadおよびR6MailワークロードについてはDomino Administration Guide(US)をご覧ください。
- Lotus Notes 7 の機能全てについての詳細については、『Lotus Notes と Domino Designer 7.0 の新機能』を参照してください。
- Lotus Domino 7 の新機能については、『Lotus Domino 7.0 の新機能』を参照してください。
- Lotus Notes/Domino 製品の詳細については、Lotus Notes/Domino 製品ページ(US)を参照してください。
- developerWorks blogs(US)に参加してdeveloperWorksのコミュニティーに参加してみてください。
Rich Buck is a member of the Lotus Domino performance team, with primary focus on Lotus Domino for Sun Solaris and Lotus Domino for Microsoft Windows performance. You can reach him at richbuck@us.ibm.com. He tested and wrote the Solaris section of this article.
Wu W Huang is a member of the Lotus Domino Performance team, with primary focus iNotes and XPages on Windows and IBM Lotus Domino performance on System Z . You can reach Wu Huang at wuhuang@us.ibm.com. He tested performance of the Classic and XPages discussion database.
Angelo Lynn is an engineer on the Lotus Domino performance team. His current focus is Lotus Domino performance on Windows-based operating systems. He is a recent graduate from Northeastern University.
Andy Nolet has been working with customers on Lotus Notes performance-related issues since the late 1990s. Before joining the Lotus Domino performance team, Andy worked for Lotus Support. You can reach him at anolet@us.ibm.com.
Jim Powers is a member of the Lotus Domino performance team. Previously, Jim led the performance team for the Lotus Domino Support organization. His experience with computer systems goes back over 30 years; performing various hardware and software roles throughout his career. You can reach him at jhp@us.ibm.com.