自動転送設定数が多いと、処理が遅くなり負荷が過大にかかってしまう

内部ドメイン宛へ自動転送設定した総数が100以上のレベルでかなり多いと、処理が遅くなり負荷が過大にかかってしまう原因となります。内部ドメイン宛への自動転送を設定するときは、転送する数の総数が多くならないように注意してください。

ヘルプやマニュアルに、自動転送の設定数の上限は明記していません。またソフトウェア的にも制限は設けていません。自動転送設定数に制限はないように受け取られがちですが、自動転送処理は、次のような仕組みのため、メールサーバの他の処理内容と比べて、仕様上から、負荷が高くなる傾向があり、かなりCPUの占有率を上げてしまいます。

通常の内部ドメインから内部ドメインへの送信(いわゆるローカル送信)については、epstddは、SMTPプロトコルベースで通信を行わず、内部のファイルコピーで処理しています。そのため、処理が高速に行われます。

ところが、自動転送が内部から内部へ働くときは、epstddから、epstrdが再度受信するように、SMTPプロトコルベースで通信が基本的に行われます。メールキューである、epstddが作業場所に使うincomingディレクトリ、及びepstrdが一時作業場所に使うtempディレクトリに自動転送が終わるまでの間、ファイルがとどまることになります。

このとき、実際に作成される作業ファイルの数は、1つのメールの転送でも3〜5個とかなりのファイルが一時的に作られることになります。メールの通数が多い場合や、添付ファイルによりメールサイズが大きいときには、その分だけ倍数的にファイル数が増大することになり、かなりの負荷がかかります。

負荷を必要以上に高めないためには、自動転送の設定数として、できれば10前後をめどに考えてください。“転送しなければいけない数”の実数が多いときには、自動転送の代わりに、メーリングリスト機能を活用してください。同一ドメイン内に送信するときなど、処理をまとめて行うなど、メーリングリスト機能の方が、負荷が高まらない工夫や仕様になっています。