Messaging Server の POP、IMAP、および HTTP サービスに対し、いくつかの基本的なパフォーマンスパラメータを設定できます。ハードウェアの容量に基づきユーザーベースでもっとも効率的なサービスを実行できます。この節では、そのための基礎的な情報を提供します。これらの設定を行う手順については、「5.5 POP サービスを設定する」、「5.6 IMAP サービスを設定する」、および 「5.7 HTTP サービスを設定する」を参照してください。
Messaging Server は作業をいくつかの実行プロセスに分割することができます。こうすると、場合によっては効率が上がることがあります。この機能はマルチプロセッサのサーバーマシンにおいて特に効果があります。多くのサーバープロセス数を調整することによりハードウェアプロセッサ間で複数のタスクをより効率よく分配できます。
ただし、タスクを複数のプロセスに割り当てたり、プロセッサ間で切り替えたりする際に、パフォーマンスオーバーヘッドが発生します。新たなプロセスが 1 つ追加されるごとに、複数のプロセスを持つ利点が薄れていきます。ほとんどの設定では、サーバーマシンの各ハードウェアプロセッサ当たり 1 つのプロセス (最大でも 4 プロセス) を、割り当てるのが原則です。用途によっては最適とされる設定が異なることがあるため、この原則はあくまでも参考として把握しておいてください。
注: プラットフォームによっては、パフォーマンスに影響を与える可能性のある、そのプラットフォーム固有のプロセスに対する制限 (最大ファイルディスクリプタ数など) を緩めるために、プロセス数を増やした方がよいこともあります。
POP、IMAP、および HTTP サービスのデフォルトのプロセス数は、1 です。
POP、IMAP、または HTTP サービスが同時に持てるクライアント接続の数が多いほど、クライアントにとって有利になります。空いている接続がないためにクライアントがサービスにアクセスできない場合、別のクライアントが接続を切断するまで待たなければなりません。
その一方で、各オープン接続がそれぞれメモリーリソースを消費し、サーバーマシンの入出力サブシステムに負担をかけるため、実際にサーバーがサポートできる同時セッションの数には限界があります。サーバーのメモリーを増やすか入出力を拡大すれば、制限枠を上げることができます。
IMAP、HTTP、および POP には、それぞれ以下のような違いがあります。
IMAP 接続は、POP や HTTP 接続に比べ、一般的に長く維持できます。メッセージをダウンロードするためにユーザーが IMAP に接続すると、接続は通常ユーザーが終了するか、タイムアウトになるまで維持されます。これに対し、POP 接続や HTTP 接続は、通常 POP または HTTP 要求が満たされるとすぐに閉じられます。
一般に、IMAP と HTTP 接続は、POP 接続に比べて非常に効率的です。POP 接続の場合は、再接続するたびにユーザーの認証を必要とします。これに対し、IMAP 接続の場合は認証が必要なのは 1 回のみで、IMAP セッション (ログインからログアウトまで) が終わるまで接続が維持されます。HTTP 接続は短いですが、1 回の HTTP セッション (ログインからログアウトまで) で複数の接続が許可されているのでユーザーは接続するたびに再び認証を行う必要はありません。そのため POP 接続は、IMAP や HTTP 接続よりも大幅なパフォーマンスオーバーヘッドを生じさせます。Messaging Server は、オープン IMAP 接続 (ただし、アイドル接続) と複数の HTTP 接続によって、オーバーヘッドを減らすように設計されています。
HTTP セッションのセキュリティーの詳細については、「23.2 HTTP のセキュリティーについて」を参照してください。
したがって、所定の時間とユーザーの要求により、Messaging Server はオープン IMAP 接続または HTTP 接続を POP 接続よりも多くサポートできる場合があります。
プロセス当たりの接続数は、IMAP のデフォルトが 4000、HTTP のデフォルトが 6000、POP のデフォルトが 600 です。これらの値は、一般的な設定のサーバーマシンが処理できる要求とほぼ同等です。用途によっては最適とされる設定が異なることがあるため、これらのデフォルト値はあくまでも一般的なガイドラインとして参考にしてください。
通常、アクティブな POP 接続では、サーバーリソースと帯域幅について、アクティブな IMAP 接続よりもはるかに厳しい要件が求められます。これは、POP 接続が継続的にメッセージをダウンロードしている間、IMAP 接続はほとんどずっとアイドル状態だからです。POP のセッション数は、少なくすることをお勧めします。逆に言えば、POP 接続は電子メールのダウンロードに要する時間しか継続しないため、アクティブな POP ユーザーはその時間のほんの数パーセントしか接続できません。これに対し、IMAP 接続は一連のメールチェックの間ずっと接続状態です。
複数のプロセスをサポートするだけでなく、Messaging Server ではタスクを複数のスレッドに分配することにより、さらにパフォーマンスを向上させています。サーバーがスレッドを使用すると、処理中のコマンドがほかのコマンドの実行を妨げることがなくなるため、実行効率が向上します。スレッドは、設定した最大数の範囲内で、コマンドの実行中に、必要に応じて作成され破棄されます。
同時に実行されるスレッドが多いほど、より多くのクライアント要求を遅延なく処理することができます。そのためより多くのクライアントに迅速にサービスを提供できます。ただし、スレッド間のディスパッチがパフォーマンスオーバーヘッドになるため、実際にサーバーが使用できるスレッド数には限界があります。
POP、IMAP、および HTTP のプロセス当たりの最大スレッド数は、デフォルトで 250 です。IMAP および HTTP のデフォルトの接続数が POP のデフォルト値より大きいにもかかわらず、同じ数値になります。同じ最大スレッド数で、より多くの IMAP および HTTP 接続が、より少なく、ただし頻度の高い POP 接続と同じくらい効率よく処理されると考えられます。用途によっては最適とされる設定が異なることがありますが、これらのデフォルト値は十分高いため、設定値を大きくする必要はおそらくありません。通常、これらのデフォルト値で十分なパフォーマンスが得られます。
応答のないクライアントへの接続に使用されているシステムリソースを回復するために、IMAP4、POP3、および HTTP プロトコルは、一定の時間が過ぎたアイドル接続をサーバーが一方的に切断することを許可します。
それぞれのプロトコル仕様により、サーバーはアイドル接続を指定されている最小時間オープンにしておくことが要求されます。最低時間のデフォルト値は POP が 10 分、IMAP が 30 分、HTTP が 3 分です。アイドル時間を増やしてデフォルト値を増やすことはできますが、それ以下に減らすことはできません。
POP または IMAP 接続が切断されると、ユーザーは新たに接続するときに再び認証する必要があります。これに対し、HTTP 接続が切断された場合は、HTTP セッションがオープンにされたままなので、再認証の必要はありません。HTTP セッションのセキュリティーの詳細については、「23.2 HTTP のセキュリティーについて」を参照してください。
POP のアイドル接続は、通常クライアントが応答できない何らかの問題 (クラッシュやハングアップするなど) により起こります。一方、IMAP アイドル接続は正常な状態で発生します。IMAP ユーザーが接続を一方的に切断されないようにするため、IMAP クライアントは通常 30 分以下の一定間隔で IMAP サーバーにコマンドを送信します。
HTTP セッションは複数の接続にわたって維持されます。HTTP クライアントは、接続が切断されてもログアウトされません。ただし、HTTP セッションが指定された時間以上アイドル状態であると、サーバーは HTTP セッションを自動的に切断し、クライアントはログアウトされます (デフォルト値は 2 時間)。セッションが切断されると、クライアントのセッション ID が無効になり、クライアントは新たにセッションを確立するために、再び認証しなければなりません。HTTP のセキュリティーおよびセッション ID の詳細については、「23.2 HTTP のセキュリティーについて」を参照してください。