本文へジャンプ
Japan
[
変更
]
ホーム
ビジネス・ソリューション
ITサービス
製品
サポート & ダウンロード
My IBM
Lotus Developer Domain
製品別技術情報
Lotus Notes/Domino
Lotus Connections
Lotus Expeditor
Lotus Forms
Lotus Quickr
Lotus Enterprise Integrator
Lotus Sametime
Lotus関連製品(QP/Doc/WF)
WebSphere Portal
Mashup Center/Lotus Mashups
利用ガイド
ソフトウェア
>
Lotus
>
Lotus Developer Domain
>
製品別技術情報
>
Lotus Notes/Domino
>
LDD Today
Domino 6のネットワーク圧縮機能について
by Mike Gazda and Dick McCarrick
レベル:中級者
対象:Notes/Domino 6
原文の掲載:2002年8月1日
LDD Today の原文
(US)
インデックス
ネットワーク圧縮の動作原理
ネットワーク圧縮のテスト結果
数値から見たネットワーク圧縮
ネットワーク圧縮は、Notes/Domino 6の重要な機能です。ネットワーク圧縮を有効にすると、ネットワークを介してデータを送信する際、送信前にデータが自動的に圧縮されます。これによって性能が向上しますが、特に回線速度が遅いネットワークの場合は顕著な効果をあげます。
Notes/Domino 6のネットワーク圧縮機能は、たくさんの直接的なメリットをもたらします。例えば、送信データの量を少なくすることによって、ルーティングおよび複製を行うハブ・サーバーの性能を向上させることができます。特に、これらのサーバーに大きな負荷がかかるような処理を行っている場合、その効果は顕著です。また、この機能をデフォルトとして設定することもでき、改めて設定しなくてもすべてのユーザーがこの機能を使用できます。ネットワーク圧縮ははじめから用意されている標準機能ですので、コードを追加する必要はありません。したがって、管理は容易で、実行に必要なCPUリソースも少なくて済みます。
ただ、ネットワーク圧縮は新機能ですので、当然いくつかの疑問が生まれることと思います。
圧縮によってどの程度の帯域幅を節約できるのか。
ネットワーク圧縮はサーバーの性能にどのような影響を与えるのか。
すでにR5の添付ファイル圧縮機能を使用している場合でも、この新機能が必要なのか。
暗号化を行った場合はどうなるのか。暗号化したデータの圧縮/解凍も可能なのか。
これらの疑問に答えるために、Lotusの製品導入エンジニアリング・チームは、さまざまなコンフィギュレーションを使ってネットワーク圧縮の調査を実施しました。この調査の目的は、できるだけ実際のお客様のサイトに近い環境をシミュレートし、ネットワーク圧縮を使用した場合の一般的な結果を得ることでした。本稿ではこれらテスト結果について解説しますが、テストから得られた数値は、ネットワーク圧縮を有効にすることによりかなりの帯域幅を節約できることを示しています。結論をお話する前に、まずネットワーク圧縮の動作原理とR5における添付ファイル圧縮の関連性についてご説明します。次に、このテストの実施方法とその結果について説明します。さらに、完全な情報公開の精神に則り、ネットワーク圧縮を有効にすることで、テストを実行したサーバーがどういう影響を受けたかについても述べます。
結果として得られた数値や傾向は、あくまで社内テストでのデータであることにご留意ください。テストというのは、ユーザー環境を完全に再現できるものではありません。ここで得られた結果は比較を目的として使うには有用ですが、すべてのユーザーがテストとまったく同じ数値やパーセンテージを得られることを保障するものではありません。テレビのCM等でよく聞かれるコメントですが、「結果は異なる場合がある」のです。
なお、本稿はDominoについて十分な知識をお持ちの管理者を対象としています。
ネットワーク圧縮の動作原理
ネットワーク圧縮は、NRPC(Notes Remote Procedure Call)によって行われます。NRPCは、ネットワークを介してデータを送信する際に、Abraham LempelとJacob Zivによって開発されたLZ1アルゴリズムを使用して、送信前にデータを圧縮します。LZ1アルゴリズムの詳細については、IBMペーパー、
A fast hardware data compression algorithm and some algorithmic extensions
(高速なハードウェア・データ圧縮アルゴリズムとアルゴリズム拡張※リンク先は英文です)を参照してください。
Domino 6では、NotesまたはDomino Administrator、もしくはその両方を使ってネットワーク圧縮を有効にできます。
Notesから操作する場合:
Notesを開き、File-Preferences-User preferencesを選ぶ。
Portsタブをクリックする。
ネットワーク圧縮を有効にするポートをリストから選択する。
Compress network dataチェック・ボックスをクリックする。これにより、ローカルNotesクライアント上の選択ポートに対するネットワーク圧縮が有効になります(この操作はサーバーには影響を与えません)。
Domino Administratorから操作する場合:
Serverペインで、ネットワーク圧縮を有効にするサーバーをクリックする。
Server-Statusタブをクリックし、Server Tasksをクリックする。
右側のToolsの下にあるServer-Setup Portsをクリックする。
ネットワーク圧縮を有効にするポートを選択する(そのポートに対してPort enabledが選択されていることを確かめてください) 。
Compress network dataを選択する。
OKをクリックする。
ネットワーク圧縮を有効にするため、そのサーバー上のポートを再起動する。これで、このサーバー上の選択ポートに対するネットワーク圧縮が有効になります(この操作はNotesクライアントには影響を与えません)。
送信側と受信側の両方のコンピューターでネットワーク圧縮を有効にすると、NotesクライアントまたはDominoサーバーは、ネットワークを介してデータ(例:電子メールや複製した文書)を送信する際、すべてのデータを圧縮しようとします。ネットワーク圧縮は、メール・ルーティング、複製、その他NPRCを介して送られるすべてのデータに有効です。これには、新規もしくはアップデートした複製データベースの設計要素も含まれます。
圧縮に影響する要素はいくつかあります。
ネットワーク圧縮は、DominoからDomino、およびDominoからNotesのセッションに対して機能します。ただし、送信側および受信側の両方がNotes/Domino 6を実行しており、かつネットワーク圧縮が有効になっていることが条件です。この条件が満たされてない場合、データは圧縮されずに送信されます。
先に暗号化されているデータは圧縮できません。ただし、先に圧縮したデータを暗号化することは可能です。Notes/Domino 6では、このことは問題になりません。Notes/Domino 6でポートレベルの暗号化とネットワーク圧縮を併用する場合、ネットワーク・データを自動的に圧縮してから暗号化するからです。これを行うと、圧縮と暗号化のメリットをフルに活かすことができます。
すでに圧縮された添付ファイルを、ネットワーク圧縮でさらに圧縮することはできません。例えば、Notesで圧縮した添付ファイル(ハフマンまたはLZ1での添付ファイル圧縮)や、圧縮フォーマットのファイル(zipアーカイブやjpeg)がこれに該当します。つまり、すでに圧縮してある添付ファイルをネットワーク圧縮でさらに圧縮することはできないということです。ユーザー・サイトでネットワーク圧縮の効果を評価するときは、この点に注意してください。圧縮した添付ファイルを多数送信する環境でテストを行うと、ネットワーク圧縮によって得られる効果は、圧縮されてない添付ファイルを送信する場合と比べて小さくなります。(これについては、以下のテスト結果で詳しく紹介します)。
Notes/Domino 6では、添付ファイルの圧縮機能はさらに強化されています。R5では、添付ファイルの圧縮にハフマン・アルゴリズムを使用していましたが、6ではLZ1アルゴリズム(ネットワーク圧縮に使われるのと同じアルゴリズム)を使えるようになっています。Notes/Domino 6でLZ1添付ファイル圧縮を使用するには、データベース・プロパティでLZ1圧縮機能を有効にする必要があります(Notesの旧バージョンとの下位互換性を保つため、データベースのデフォルトは依然としてハフマン・アルゴリズムです)。この関連テストでは、LZ1による添付ファイル圧縮は、Notesにおけるハフマン圧縮と比較して、ファイルサイズを平均5%?40%小さくできることが確認されています(圧縮率は、テスト対象となる添付ファイルの種類や複雑さによって大きく変わります)。
上に戻る
ネットワーク圧縮のテスト結果
ネットワーク圧縮に関する調査は、メール・ルーティングとレプリケーションの両方による一連のテストを実施することで行いました。この調査の目的は、以下の項目に関するネットワーク圧縮の効果を確認することでした。
添付ファイル圧縮を有効にした場合と無効にした場合のネットワーク帯域幅の節約(送信データ量)
サーバーの性能に対する全体的な影響(CPUとメモリーの利用)
テストは、AIX OSをインストールしたDomino 6ベータ版と、Windows NTをインストールしたNotes 6ベータ版を使って行いました。以下に、これら結果について説明します。
ネットワーク帯域幅:50%減!
ネットワーク圧縮によって帯域幅をどの程度節約することができるかを決定するにあたっては3種類のテストを実行し、いずれについても一貫した結果が得られました。最初のテストでは、他とは遮断され、テスト対象のクライアントとサーバー以外のトラフィックがないネットワーク上で、クライアントからサーバーへのレプリケーションを行いました(これにより、テスト対象以外のトラフィックによる影響を排除できます)。サーバーのネットワーク・アダプターにおけるネットワーク・トラフィックの測定には、AIXのNetstatユーティリティーを使用しました。
レプリケーションには3種類のデータベースを使用しています。各データベースは、テキストのみのドキュメント(添付ファイルなし)、テキスト・ファイルを添付したドキュメント、バイナリー・ファイルを添付したドキュメントが混在した1,000個のドキュメントで構成されています(バイナリー・ファイルは、zipアーカイブやjpegなど、あらかじめ圧縮されたファイルをシミュレートしたものです)。第1のデータベース(ここではdb1.nsfとします)における添付ファイルは、添付ファイル圧縮機能による圧縮は行っていません。このデータベースの合計容量は106.10MBで、以下のドキュメントで構成されています。
ドキュメントタイプ
ドキュメント数
合計サイズ(MB)
10MBテキスト・ファイル添付
5
47.69
50KBテキスト・ファイル添付
42
5.56
50KBバイナリー・ファイル添付
58
4.03
添付ファイルなし(テキストのみ)
895
35.98
データベース・デザイン、セッション、 その他
13.57
第2のデータベース(db2.nsf)は、本質的に同じ1,000個のドキュメントで構成されています。このデータベースは、R5(ハフマン)添付ファイル圧縮機能が有効になっています。この結果、db2.nsfのサイズは81.36MBとなっています。第3のテスト・データベース(db3.nsf)も添付ファイル圧縮機能が有効になっていますが、Notes/Domino 6(LZ1)の圧縮を使用します。Db3.nsfの容量は79.25MBです(db2.nsfとdb3.nsfのサイズの差は、LZ1圧縮の効率が良いことを示しています。しかし、テキスト・ファイルの添付はそれほど複雑なものではないので、この例ではハフマン圧縮とLZ1圧縮の差はほとんど出ていません。より複雑な添付ファイル、例えばスプレッドシート、ワード・プロセッサ文書、プレゼンテーションなどを使う場合は、LZ1の方がハフマンよりもはるかに高い効率を示しま す)。
ここでは、各データベースの新しい複製をサーバーからクライアントに取り込むとともに、新しい複製をクライアントからサーバーに送り込みました。一貫性と精度を高めるために、各テストは複数回実施しています。本稿の後半に述べるlog.nsfデータベースを確認することによって得られた結果は、いずれも一貫したものでした。得られた数値を合計したところ、ネットワーク圧縮により送信データの量が以下に示すような割合で削減されていることが確認されました(分かりやすいよう、すべての数値は丸めてあります):
データベース
ネットワーク圧縮前のサイズ(MB)
ネットワーク圧縮後のサイズ(MB)
削減率
db1.nsf(圧縮なし)
106
51
52%
db2.nsf
(R5/ハフマン圧縮)
81
54
34%
db3.nsf
(Notes/Domino 6/LZ1圧縮)
79
52
35%
この結果から分かるように、ネットワーク圧縮はネットワークを介して送信されるデータの量に大きな影響を与えます。添付ファイルが圧縮されていないドキュメントに対してネットワーク圧縮を使用した場合は、転送量を実に半分近くまで減らすことができます。言うまでもないことですが、ユーザー・サイトが低速回線を使用している場合やネットワーク接続が非常に混雑している場合、これは大きな利点となります。
また、添付ファイル圧縮とネットワーク圧縮を併用した場合の結果を考慮することも重要です。添付ファイル圧縮を有効にした場合のデータ量の削減率が約35%、無効にした場合の削減率が約52%のため、一見したところ添付ファイル圧縮を使用するとネットワーク圧縮の効果が上がらないように思われます。しかし、この数値をもう少し詳しく見てみると、このような見方はあたらないことがわかります。一度添付ファイルを圧縮してしまうと、残念ながらこれを再度圧縮することはできません(もし再圧縮が可能だとすると、何度も圧縮を繰り返すことによって最後にはファイル容量を1バイトまで圧縮できることになってしまいます)。したがって、データベース上で添付ファイル圧縮を有効にすると、ネットワーク圧縮の対象は圧縮されていないデータだけとなります。添付ファイル圧縮機能によってすでに圧縮されている添付ファイルは、それ以上圧縮されることなくネットワーク上に送られます。つまり、上の表で最も重要な部分は3番目の列、すなわち「ネットワーク圧縮後のサイズ」で、ここに示された結果はいずれも非常に近い値となっています。これら3つのデータベースはいずれも同じドキュメントと添付ファイルで構成され、オリジナルのサイズ(添付ファイルの圧縮前)も同じ106MBである点に注意してください。この表の3番目の列は、圧縮がネットワーク圧縮のみによるものか、ネットワーク圧縮と添付ファイル圧縮の組み合わせによるものかに関わらず、106MBのデータがいずれも約50MB、あるいは約半分に圧縮されていることを示しています。いずれにしろ、これがネットワーク帯域幅の最大節約量ということになります。
2番目のテストでは、サーバーからサーバーへのメール・ルーティングにおけるネットワーク圧縮を有効にしました。このテストでも同様のドキュメント構成を使用していますが、いずれの場合もNotes/Domino 6のLZ1添付ファイル圧縮を有効にしてあります。ドキュメントは1つのDomino 6サーバーからもう1つのサーバーにルーティングされ、そこから2番目のサーバー上のNotes 6メールユーザーに配布されます。このテストは、毎秒256KB、56KB、33.6KBという3種類の異なるネットワーク速度で実施しました。全体的なデータ削減量は、上に挙げた結果と同様のものでした。このテストでは、ネットワーク圧縮によるルータ時間の短縮率にも着目しましたが、その平均値は約26%でした。
最後に行った3番目のテストは、Domino 6サーバーのネットワーク圧縮を有効にし、サーバーに負荷をかけた状態で実施しました。このシナリオには、メールの送受信やレプリケーションを行うユーザーが含まれています。このテストから得られた性能への影響については、次のセクションに述べます。しかし、このテストにおいても、ネットワーク帯域幅の節約に関しては47%(添付ファイル圧縮なし)という前回同様の結果が得られているのは興味深い点です。
本稿の初めに述べたように、ハードウェアおよびソフトウェアのコンフィギュレーション、トポロジー、負荷などのさまざまな要因から、IBMにおけるテスト結果とユーザー・サイトにおける結果とは異なることがあります。しかしそれでも、これらのテストから得られる結論は明らかです。単独で使用したにしろ添付ファイル圧縮と組み合わせて使用したにしろ、ネットワーク圧縮はかなりのネットワーク帯域幅を節約することができます。
ネットワーク圧縮によるサーバーの負荷
「無料のランチなどない」と言った人がいますが、特にコンピューター・ソフトウェアにはこの言葉があてはまります。機能上の大きな進歩があれば、それと引き換えに少なくとも多少の演算能力が使われるものです。ネットワーク圧縮も例外ではありません。ネットワーク圧縮を有効にした状態のDomino 6をサーバー上で実行すると、データを圧縮してネットワーク上に送り出し、受信後にそれを解凍するために一定のコンピューター・サイクルが使われます。
どの程度のサイクルが必要となるかを明確にするために、IBMでは
NotesBench
(US)やServer.loadと同様の社内用負荷テスト・ツールを使用して、詳細なテストを実施しました。このツールは、Domino環境におけるエンド・ユーザーの動作をシミュレートするものです。このテストでは、以下のような負荷を設定しました。
メール、レプリケーション、フル・テキスト・インデックスを使用する合計804の同時ユーザー
合計3,800の登録ユーザー
69MBの平均メール・ファイル・サイズ
サーバーからサーバーへのメール・ルーティング
このテスト環境下にあるすべてのDominoサーバーとNotesクライアントのネットワーク圧縮を有効にすることによって、ネットワーク帯域幅は47%削減されますが、これによってサーバーのリソースにもある程度の影響が生じます。ネットワーク圧縮を有効にした場合のテスト・サーバーのCPU使用率増加は約7%でした。また、Dominoサーバーのタスクによるメモリー・アロケーションは約15%増加しています。次のセクションでは、これらの結果についてさらに詳しく説明します。
CPU使用率
ネットワーク圧縮を使用しない状態での平均CPU使用率は、上記の同時ユーザー804という基準で63%でした。ネットワーク圧縮を有効にすると、平均CPU使用率は70%に増加します。
注:
CPU Utilization:CPU使用率
%Utilized :使用率(%)
Average CPU:平均CPU使用率
Without compression:圧縮なし
With compression:圧縮あり
この増加は、それぞれのDominoタスクにより異なります。CPUの使用率が最も増加したのは、サーバー・タスクとルーター・タスクでした。興味深いのは、レプリケーターのCPU使用率が僅かに低下していることで、これは恐らく圧縮データを転送するのに必要なセッション時間が減少したことによるものだと思われます。次の表は、CPU使用率の点で「最も重い」サーバー・タスクに対するネットワーク圧縮の影響を示したものです。
プロセス
圧縮なしの場合の
累積CPU時間
圧縮した場合の
累積CPU時間
増加率
複製
0:00:15
0:00:14
-3.9
ルーター
0:24:28
0:28:18
15.7
サーバー
1:06:22
1:20:05
20.6
更新
1:01:11
1:00:17
-1.5
メモリー・アロケーション
サーバーのメモリー・アロケーションに対するネットワーク圧縮の影響についても、テストを実施しました。ネットワーク圧縮を行わない状態では、テスト負荷によるメモリー・アロケーションは1.66GBでした。このテストにおけるサーバーおよび他のすべてのコンピューター上でネットワーク圧縮を有効にした場合のメモリー・アロケーションは1.9GBで、約15%増加しています。CPU使用率同様、各サーバー・タスクにおけるメモリー使用率への影響もそれぞれに異なります。最も影響を受けたのは、サーバー・タスクと更新タスクでした。そしてここでも、複製タスクにおいてアロケートされたメモリーは、わずかに少なくなっています。
上に戻る
数値から見たネットワーク圧縮
どのような場合においても、数値に頼りすぎるのは危険です。「嘘には3種類ある。嘘と大嘘と統計だ」という言葉をご存知でしょうか。しかしそれを差し引いたとしても、IBMのテスト結果は、Domino 6のネットワーク圧縮を使用すればネットワーク帯域幅の大幅な節約が期待できるということを非常に明確に示しています。上に挙げた例でも分かるように、未圧縮の添付ファイルを送る場合、最大50%のデータ削減が可能です。ユーザー・サイトでは異なる結果となることがあるため、ユーザー独自のテストと分析が求められることが予想されますが、これを容易にするために、Domino 6のサーバー・ログ・データベース(log.nsf)には新しい列を2つ設けてあります。
KBytesUnCompは、ネットワーク圧縮前のデータの合計バイト数を示します。
KbytesCompは、ネットワーク圧縮後のデータの合計バイト数を示します。
これら2つの列を比較することによって、ネットワーク圧縮の最終的な効果を確認することができます。この比較を行うには、log.ntfのDomino 6バージョンを使用するように、サーバー・ログ・データベースのデザインをアップグレードする必要があります(詳細については、Domino Administrator 6 ヘルプを参照してください)。
ユーザーがそのサイトに合わせてテストを行う場合は、添付ファイル圧縮の効果を考慮に入れるのを忘れないようにしてください。添付ファイル圧縮は、ネットワーク圧縮の効果を隠してしまうことがあります。しかし、ネットワーク圧縮を単独で使用した場合も、添付ファイル圧縮と組み合わせて使用した場合も、最終的にネットワーク上で伝送されるデータ量は概ね同じになるはずです。また、CPUおよびメモリー使用の面でサーバー性能に与える影響も詳しく分析してください。サーバーの処理速度が遅い場合や負荷が大きい場合は特にそうですが、ネットワーク圧縮による利点とリソース面での負荷増を慎重に比較検討する必要があります。
多くの場合、ネットワーク圧縮は管理者にとって非常に重要なツールとなり得ます。オンラインの世界が広がる中にあって、ネットワーク速度は急速に重要な存在となりつつあります。このような状況下で、ネットワーク圧縮は、現在使用しているネットワークを可能な限り高速で高性能なものとする助けとなります。
著者略歴
Michael Gazdaは、製品導入エンジニアリング部門において、ネットワーク圧縮、IMAP、Lotus iNotesに関わるプロジェクトに1年余り従事しています。これ以前は、Lotus Notes/Dominoテクニカル・サポートのシニア・テクニカルサポート・アナリストを3年以上務め、データベース・デザイン、メール・ルーティング、サーバーに関する問題などを含むさまざまなサポート業務を行っています。Gazdaは、R4およびR5両方のデータベース・デザインおよびサーバー管理におけるロータス認定技術者(Certified Lotus Professional)の資格を有しています。勤務のない時にはパートタイムの学生としてボストン大学で学び、コンピューター・サイエンス専攻の文学士の学位取得を目指しています。
上に戻る