|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IBMのプロダクション環境における pSeriesサーバーでの Lotus Dominoのパフォーマンス |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Razeyah Stephen , Manager, Domino Performance Team, IBM Varadarajulu Manavalan , Domino IT Architect, IBM Nirmala Venkatraman , Senior Software Engineer, IBM レベル:中級 原文の掲載:2005年10月04日 更 新 日:2006年1月13日更新
Lotus Domino 7の開発中、Domino/Notesチームは、55,000以上のユーザー数を支え、30以上の Lotus Dominoサーバーを 7にアップグレードまたは展開したIBM Global Services(IGS)チームと非常に緊密に仕事をしてきました。この連合チームのゴールは、Lotus Domino 7が非常に高品質になること、そして研究所でのパフォーマンス結果をIBMのプロダクション環境で確認することでした。 この記事では、IBM社内の Lotus Domino 7環境の3台のpSeriesサーバーの構成を記述し、収集されたパフォーマンス・データを共有し、展開や監視のヒントについて議論しています。これらの3台のサーバーにおいて、Lotus Domino 7にアップグレードした際に 1台のプロダクション・サーバーでは 55%のCPU使用率の削減、その他の2台のプロダクション・サーバーでは 15%から24%のCPU使用率削減が見られました。この記事で紹介されている情報は、一般的に(そして、特にpSeriesにおいて) Lotus Domino 7の展開において有用となるでしょう。 この記事は、経験のある Lotus Dominoのシステム管理者を読者として想定しています。
IBMの Lotus Domino 7 メールサーバーIBMは、2004年5月に Lotus Domino 7のプロダクション環境への展開を開始しました。IBMの Lotus Domino 7サーバーは55,000ユーザー以上の Lotus Notesクライアントにサービスを提供しています。図1.はIBM社内において、Lotus Domino 7サーバーを利用する Lotus Notesユーザーの数の伸びを表しています。 図 1. Lotus Domino 7メール・ユーザー数![]() Lotus Dominoの開発チームは、品質とパフォーマンスの改善と監視の為に、IBMの展開チームと緊密に仕事をしました。IBM内の早期展開環境向けの Lotus Domino 7メール・サーバーは、8台のpSeriesサーバー、3台のzSeriesサーバー(2台はz/OS、1台はz/Linux)、そして4台のiSeriesのサーバーが含まれています。
Lotus Domino 7のパフォーマンスこの節では、IBMで使用されているpSeries上での Lotus Domino 7環境の構成について記述します。最初の構成はIBM Research、2つ目の構成は IBM Global Services、3つ目の構成はさまざまなIBMグループや部門をサポートしています。これらのプロダクション・サーバーはLotus Domino 6.5.1と 6.5.3が稼動しており、利用可能だった最新の Lotus Domino 7ベータ版にアップグレードされました。このグラフにて「Domino 7」として表記した結果は Lotus Domino 7 Beta 4と追加の修正を加えたものをベースにしています(注意:Lotus Notes/Domino 7は製品版が出荷され、現在利用可能です)。 構成1: IBM Research 最初の構成は、IBM Research部門のユーザーを抱えています。次の表はこの構成のハードウェア/ソフトウェアを示しています。
このサーバーでは、これらのサーバー・タスクを有効にしました。 ServerTasks=Tivoliv60,Router,Update,Amgr,Adminp,Sched,CalConn,mtbf,http,tmmscan,tmscan, tmmscan,dbscan mail1.box,dbscan mail2.box ServerTasksAt2=UpdAll updsystemnsfs.ind, updAll updmailfolders1.ind, updAll updmailfolders2.ind 最初のLotus Dominoパーティション(DPAR1)は、2120ユーザーが登録され、アクティブ・ユーザー数が700(33%)、そして1日のプライム・タイムのトランザクション数は平均して 2,800,000です。1日の1ユーザーあたりのトランザクション数は、4,000です。2番目の Lotus Dominoパーティションは 1413ユーザーが登録されており、アクティブ・ユーザー数は 537(38%)、1日のプライム・タイムの平均トランザクション数はおよそ 2,300,000です。DPAR2の1ユーザーあたりの1日のトランザクション数は、4,283です。 Lotus Domino Web Accessは、いずれのパーティションでも有効に設定されています(いずれのDPARでも Lotus Domino Web Accessを提供するのに十分なCPUリソースが利用可能でした)。これらのユーザー数は、Lotus Domino 7での数値です;Lotus Domino 6.5.1では およそ3%減となります。 いずれのDPARも、循環トランザクション・ロギングが有効に設定されています。トランザクション・ロギングは Notes.iniの「MAILBOXDISABLETXNLOGGING=1」の設定により mail.boxでは無効にされています。Busytime.nsf(クラスター構成の場合はClubusy.nsf)についても「SCHEDULE_DISABLETXNLOGGING=1」の設定により無効になっています。 この構成では、次のメール・テンプレートを利用しています(全ての数値は概算です)。
加えて、333ユーザーは別の種類のテンプレート(out of the box、ユーザーが改修したもの、その他)を利用しています。およそ42%ユーザーは、StdR6Mailテンプレートを利用しています。 この構成では、ユーザーは LotusScript、Java、式ベースのエージェントを実行しました。以下のサード・パーティー製ソフトウェアが実行されています。
IBM Researchのパフォーマンス・データ 図2は、IBM Researchの構成における週ごとのCPU使用率を示しています。それぞれのバーが1週間のデータ(月曜日から金曜日、午前7時から午後5時まで)を示しています。 図 2. IBM Researchの CPU使用率 ![]() この構成では、2004年10月29日の週の後に、Lotus Domino 7にアップグレードされました。この構成では、10月29日の週以降、さまざまな Lotus Domino 7のベータ版が実行されました。そして、2005年8月12日の週から2005年9月9日の週までのデータが Beta 4のものです。このプロダクション・サーバーから収集されたデータから、Lotus Domino 6.5.1では平均でCPUが62%使用されており、Lotus Domino 7 Beta 4にアップグレードされた際、平均CPU使用率は 28%に落ちました。CPUの節約は 55%です。
構成2: IBM Global Services 2番目の構成は、IBM Global Services(IGS)からのユーザーが利用しています。この表は、IGSのサーバーのハードウェア/ソフトウェアの一覧です。
これらのサーバーでは、次のサーバー・タスクが有効に設定されています。 ServerTasks=Tivoliv60,Router,Update,Amgr,Adminp,Sched,CalConn,mtbf,tmmscan,tmscan, tmmscan,dbscan mail1.box,dbscan mail2.box ServerTasksAt2=UpdAll updsystemnsfs.ind, updAll updmailfolders1.ind, updAll updmailfolders2.ind ServerTasksAt1=Catalog 最初のDPAR(上の表の一覧では DPAR 1と記載されたもの)は、4080ユーザーが登録されており、アクティブ・ユーザー数は1,387(34%がアクティブ)、一日に 7,500,000トランザクション(プライム・タイム)が実行されています。1ユーザーあたりの、1日の平均トランザクション数は 5,407です。2番目のDPAR(SPAR 2)は、3992ユーザーが登録されており、アクティブ・ユーザー数は1277(32%がアクティブ)、1日に、6,500,000に近いトランザクション(プライム・タイム)が処理されています。1日の1ユーザーあたりの平均トランザクション数は 5090です。これらの数値は Lotus Domino 7で取得したもので、Lotus Domino 6.5.3のユーザー数では 5%減ります。 いずれの DPARでもアーカイブ・トランザクション・ロギングが有効になっています。トランザクション・ロギングは Notes.iniの「MAILBOXDISABLETXNLOGGING=1」の設定によりmail.boxでは無効になっています。Busytime.nsf(クラスター構成の場合はClubusy.nsf)についても「SCHEDULE_DISABLETXNLOGGING=1」の設定により無効です。 この構成では、次のメール・テンプレートが利用されています。
この構成では、ユーザーの大多数は LotusScriptと 式ベースのエージェントを実行します。サーバー上で動作するサード・パーティー製アプリケーションは、IBM Researchの構成であげた一覧表と同様です。 IGSのパフォーマンス・データ 図3は、IGSの構成でのCPU使用率を週ごとに示したものです。それぞれのバーは1週間(月曜日から金曜日、午前7時から午後5時)をあらわしています。 図 3. IBM Global ServicesのCPU使用率 ![]() この構成では、2005年2月11日の週の後に Lotus Domino 7にアップグレードされました。この構成では、2月11日ではじまる週より、さまざまな Lotus Domino 7の Beta版が実行されました。そして、2005年8月12日の週から、2005年9月16日の週までが Lotus Domino 7 Beta 4のデータです。このプロダクション・サーバーで収集されたデータによると、Lotus Domino 6.5.3では平均で CPU使用率が 65%でした。Lotus Domino 7にアップグレード後、平均のCPU使用率は 56%に下がりました。これは14%の改善です。 この構成での Lotus Domino 7の CPU使用率の改善は小さいのは、多くのユーザーが改修された StdR5Mailテンプレートを利用しており(87%)、このテンプレートのいくつかの新機能が追加のCPU消費をもたらした為です。また、その他の要因として、ユーザーの利用パターンがあるかもしれません。1日のトランザクション数の平均を踏まえると、IGSのユーザーは、IBM Researchのユーザーよりアクティブで、より"ヘビー"なのです。 構成3: さまざまな IBMのグループ この3つ目の構成は、IBMのさまざまなグループや部門のユーザーが利用しています。次の一覧表は、この構成で利用されているハードウェア/ソフトウェアです。
このサーバー上では、次のタスクが有効に設定されています。 ServerTasksAt2=UpdAll updsystemnsfs.ind, updAll updmailfolders1.ind, updAll updmailfolders2.ind ServerTasksAt1=Catalog 最初のDPAR(DPAR 1)は、3985ユーザーが登録されており、アクティブ・ユーザー数は1235(31%がアクティブ)、1日のプライム・タイムのトランザクション処理数はおよそ 7,000,000です。1ユーザーあたりの1日の平均トランザクション数は 5,668です。DPAR 2は、4001の登録ユーザーがおり、アクティブ・ユーザー数は 1320(33%がアクティブ)、平均で 7,000,000トランザクション(1日のプライム・タイム)です。1ユーザーあたりの1日の平均トランザクション数は 5303です。これらは Lotus Domino 7での数値で、Lotus Domino 6.5.3でのユーザー数は 6%減です。 この構成では、次のメール・テンプレートを利用しています。
ユーザーの大部分は LotusScriptと式ベースのエージェントを実行しました。このサーバーで動作するサード・パーティー製のアプリケーションは、前の2つの構成で記載したものと同様です。 構成3のパフォーマンス・データ 図4は、この構成の、週ごとの平均のCPU使用率を示しています。それぞれのバーは、1週間に収集されたデータ(月曜日から金曜日)を示しています。 図 4. 構成3のCPU使用率 ![]() この構成では、2005年2月25日の週の後に Lotus Domino 7にアップグレードされました。この構成では、2月25日の週より、さまざまな Lotus Domino 7の Beta版が実行されました。そして、2005年8月12日の週から、2005年9月16日の週までが Lotus Domino 7 Beta 4のデータです。収集されたデータによると、Lotus Domino 6.5.3では平均で CPU使用率が 66%でした。Lotus Domino 7にアップグレード後、平均のCPU使用率は 51%に下がりました。これは23%の改善です。
Lotus Domino 7展開におけるTipsこれらの3つの構成における 私たちの Lotus Domino 7の展開の経験を基にして、以下をお勧めします。Lotus Dominoのパラメータ 複数のメール・ボックスを利用して実行してください(私たちは2つのメール・ボックスを利用しました)。「MailBoxDisableTXNLogging=1」のパラメータを利用して、メール・ボックスのトランザクション・ロギングを無効にします。Notes.iniの「Schedule_Disabletxnlogging=1」を設定することで Busytime.nsf(クラスター構成の場合はClubusy.nsf)のトランザクション・ロギングを無効にします。加えて、サーバーの Notes.iniファイルに以下の設定を行います。 Server_Max_Concurrent_Trans=1000 Server_Pool_Tasks=100 Disable_BCC_Group_Expansion=1 Server_Session_Timeout=31 全文索引の作成のオーバーヘッドを回避するために、ディレクトリー・カタログよりも、拡張ディレクトリー・カタログを利用します(例えば、Edcww.nsfはビュー・インデックスを使用しますが、対して dircat/ibmdclns.nsfは全文索引を利用します)。少なくとも、データの完全性と素早い再起動の為に、循環トランザクション・ロギングを設定します。Lotus Dominoの不要なサーバー・タスクは止めてください。サーバーのパフォーマンス向上のために、ログ・ファイル(log.nsf)に書き込まれるデバック/ログと、コンソールの量を制限します。 システム・データベース用に個別のファイル・システムがあると、よりよいパフォーマンスが得られました。それぞれの Lotus Dominoパーティション(DPAR)は Dominoディレクトリー用に 4台の SSA RAID アレイと、1台の拡張ディレクトリー・カタログの SSA RAIDアレイから構成されています。それぞれの Lotus Dominoパーティションはミラー化された SCSIのトランザクション・ログ用ドライブを持っており、2498もしくはそれと似た SCSI RAIDアダプターを利用した ハードウェアRAID 1ミラーリングを行っています。 Dominoディレクトリーには、サイズの大きなフォルダーを利用してください(names.nsf、edcww.nsf、そしてwwpdl.nsf)。 「VIEW_REBUILD_DIR=/notesdata/viewbuild」を設定します。我々のデフォルトのロケーションは Lotus Dominoのデータ・ディレクトリーです。実施されているときには、Lotus Dominoは、標準の再構築の代わりに最適化されたビュー再構築を行います。他のロケーションに移動させることにより、アクセス頻度の高いファイルのアクセス競合を防ぐことができます(Log.nsf、Names.nsfその他)。 I/OとCPUリソースが少なくて済むように、データベースの増大を制限してください(巨大なファイルは、よりCPUを使用します。多くの文書があるメール・データベースもCPUをより多く使用します)。これは、ビューの更新と再構築のスピード・アップに有効です。 AIXのパラメータ IOCP(I/O completion ports)を有効にします。smitty iocpに入り、現在の状態が「有効」であることを確認します。また、"State to be configured at system restart"の設定が「有効」であることも確認します。私たちが議論している全てのIBMサーバーにおいて、IOCPが有効で、現在利用可能な状態に設定されています。 maxuprocを 128に設定してください(さらなる情報は、リリース・ノートを参照してください)。 ページングが発生しないように、私たちのサーバーでは、maxperm%と maxclient%が10に設定されています。これらがシステムの再起動を経ても持続するように、"vmo -p -o maxperm%=10 -o maxclient%=10"と入力します。maxperm%とmaxclient%の設定は、私たちと読者の環境では異なります。加えて、私たちのサーバーでは、合計ページング・サイズがそれぞれ 6144MBと 4672MBに設定されています。 次のように設定します。
これらの設定値は Notesユーザーの .profileまたは.kshrcまたは .chrcファイルのどちらかで設定できます。
パフォーマンス監視のTipsこの節では、AIXと Lotus Dominoサーバーのパフォーマンス監視の為のいくつかのヒントを記載しています。AIXサーバー これらが、AIXサーバーのパフォーマンス監視の為に使用したツールのセットです(定期的に実行)。
Lotus Dominoサーバー 全てが期待通り動作していることを確認するために、Lotus Dominoサーバーのアップグレード後に私たちはこれらのツールを使用しました。
これらのツールを使用して収集されたデータは、アップグレード・プロセスを通したパフォーマンスの問題のトラブル・シューティングや監視に役立ちます。私たちは IBMプロダクション・サーバー上での Lotus Domino 7へのアップグレードを通して、大きなオーバーヘッドを伴わずにこれらのツールを使いました。私たちはこれらのツールをベース・ラインの構築に利用しました。この事は、私たちに変化を簡単に発見し、必要ならばパフォーマンスの問題を突き止める事を可能にしてくれました。
まとめIBM pSeriesのプロダクション環境において、私たちは Lotus Domino 6.5.1/6.5.3と比較して 14%から 55%のCPU使用削減を計測しました。pSeries上での 55%のCPU使用率改善は、2つの Dominoパーティションからなる pSeriesサーバー上での事でした。このサーバーは、3533のIBM Researchユーザーを抱えていました。他の2つのサーバー、1台はIGSのユーザー、もう1台はさまざまな部門のユーザーをホストしていますが、それぞれ14%と 23%のCPU消費削減を計測しました。これらの2つのプロダクション・サーバーはそれぞれ 8,000ユーザーを抱えており、それぞれ 2つの Lotus Dominoパーティションを持っています。この2つの構成がより典型的なお客様の環境と考えられます。私たちの研究所の環境では、pSeries上のAIXで25%のCPU消費改善を計測しました。そして私たちの、厳しい研究所での結果はプロダクション・サーバーでの傾向の予測を立証するものです。もちろん、結果はメール・ファイルのサイズ、ユーザー負荷、その他の要因に依存して変化します。
リソース
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||