CommuniGate Proのバージョン6.0以降では、「分割テキストメールボックス」(sliced mailbox)と呼ばれる独自のメールボックス形式が使えるようになりました。
これは、従来から存在するmbox形式(テキストメールボックス)や、MailDir形式において、きわめて多数のメールをサーバ上に残し続けた場合に生じる速度低下等の問題点を解消するために実装された、独自のメールボックス形式です。
ここでは、従来のメールボックス形式の問題点と、それを解消するための分割テキストメールボックスの仕組み、および、その運用のための設定について紹介します。
<mbox形式(テキストメールボックス)の問題点>
mbox形式では、メールボックス内の全てのメールが、1つのファイルの中に書かれる形で記録されます。
この方法だと、大量のメールをメールボックスに残しておくと、ファイルサイズはどんどん肥大化します。
FAT32のような、1ファイルのサイズの上限が4GBしかないファイルシステムでこれを運用すると、その制限に到達する可能性があります。
ファイルサイズの制限が十分に大きいファイルシステムを使う場合でも、保存されているメールの総サイズ増大すると、運用上の速度が低下します。
mbox形式でのメール削除時の速度低下の図解
<MailDir形式の問題点>
MailDir形式では、メールボックス1つを1つのディレクトリとして作成し、その中に、1メールを1ファイルとして記録します。
この方法だと、大量のメールをメールボックスに残しておくと、ディレクトリ内のファイル数がどんどん増大します。
大規模なシステム構築を経験された方なら経験済みの方も多いと思いますが、ディレクトリ内のファイル数があまりにも多数になると、lsコマンドのような、ディレクトリ内のファイル名を一覧するコマンドでさえも、長大な時間がかかるようになってしまいます。
そのため、保存されているメールの総本数が増大すると、運用上の速度が低下します。
MailDir形式での速度低下の図解
<分割テキストメールボックス形式の仕組みと利点>
分割テキストメールボックス形式では、メールボックス1つを1つのディレクトリとして作成しますが、その中に、mbox形式のように多数のメールを1つのファイルとして記録し、そのファイルサイズや本数が増大すると、同一ディレクトリ内に次々と同様な別ファイルを作っていく仕組みになっています。
上記の方法だけだと、どのメールが、どのファイルの、どういう位置に記録されているかを、いちいち全ファイルを読んで調べる必要が生じてしまうため、そういったメールの存在位置情報を記録するインデックスファイルも併せて生成し、高速化する仕組みも実装されています。
この実装により、たとえば、1ファイルあたり1000本のメールが記録されているケースで、10万本のメールが同一メールボックス内に残され続けたとしても、ファイル数は100ファイルで済むことになります。つまりは、mbox形式と同等の理由による速度低下は、メールを1000本溜めたときと同程度にとどめ、かつ、MailDir形式と同等の理由による速度低下も、メールを100本溜めたときと同程度にとどめることが出来るわけです。
分割テキストメールボックス(sliced mailbox)の仕組みの図解
<分割テキストメールボックスの利用方法>
POPアクセスで参照される基本のメールボックス(INBOX)については、アカウントが作成されるときに、同時に生成されます。
INBOXをアカウント生成の時点で、分割テキストメールボックス形式にするためには、アカウント・デフォルト設定のところで、新規メールボックスフォーマットを「分割テキストメールボックス」に指定しておく必要があります。
管理画面で、「アカウント」→「ドメイン」(目的のドメインを選択)→「アカウント・デフォルト設定」→「メール設定」に進みます。
「メールボックスストレージ」の欄の「新規メールボックスフォーマット」のところで、「分割テキスト」を選択してください。
分割テキストメールボックスの設定方法の図解
これ以後、このドメインに新規作成されるアカウントについては、分割テキストメールボックスが使われるようになります。
|
|