メールシステムの管理

負荷制限

中央のメールマシンは、しばしば過負荷状態になります。最もよい解決法はメールを処理するより強力なマシンを提供することですが、その負荷は、割り当てられたリソースをすべて消費するためほとんど常に拡大します。

sendmail プログラムでは負荷を制限できます。負荷を制限する目的は、長いメッセージ、多数の受信者へのメッセージ、長時間ダウンしていたサイトへのメッセージを配信するロード時間の無駄を省きます。

OxOX オプションは、sendmail によって発生する負荷を制限するのに使用します。オプションを使用しなければ、デフォルトで負荷制限を設定していません。これらの構成オプションは負荷平均を表す整数の引数で指定します。たとえば、Ox4OX8 を指定すると、負荷が 4 より大きいと x 負荷制限が使用され、負荷が 8 より大きいと X 負荷制限が使用されます。負荷が X オプションで指定した値より大きいとき、SMTP サーバーはネットワークからの接続を受け付けません (ローカルで発信されたメールと UUCP などの他のメールは影響を受けません)。x オプションではさらに、メッセージをそれ以降の配信のために待ち行列に入れるか、または即座に配信するかを制御します。これには、常に「短い」メッセージは即座に配信し、「長い」メッセージはピーク時を避けて配信するという原則があります。

Oq オプションは即座に配信されるメッセージの最大サイズを指定します。メッセージの「サイズ」には、メッセージのバイト数だけでなく、受信者がかなり多い場合と配信されなかった場合のペナルティも含めます。受信者に対するペナルティはオプション値 y で、デフォルトでは 1000 に設定されます。配信の試みに対するペナルティはオプション値 z で、デフォルトでは 9000 に設定されます。また、サイズ制限は現在の負荷によって異なるため、負荷が大きくなるにつれて待ち行列に入るメッセージの数は増えます。たとえば、負荷がしきい値 x より 1 つ上であれば制限は半減して、負荷がそのしきい値より 2 つ上であれば制限は 3 分の 1 になります。また、待ち行列を処理するときに配信されるメッセージにも適用されることに注意してください。