Starpitなど、遅延を使ってスパム対策などを行っている場合、すぐに処理が終了しないため、smtpdプロセスが増加します。
Starpitでは経験的に、普段起動しているプロセス数の2倍〜3倍程度になるようです。
負荷の少ないメールサーバではほとんど問題となりませんが、受信するメールが非常に多いサーバの場合、プロセスの増加がメモリ消費などの点で(増加したプロセスはsleepしているだけなのでCPU負荷的には問題にならない)問題になることがあります。
そこで、遅延している間に相手が接続を切ったら、こちらのsmtpdもすぐに終了するようになるパッチを作成しました。
Postfix-2.3.x (最新 stable)に対してのパッチです。
http://k2net.hakuba.jp/pub/postfix-sleep.patch
(追記)
Postfix-2.2.1 対してはLukeさんが下記で配布いただいています。
http://blog.dyndns.tv/~luke/archives/postfix-2.2.1-sleephack.diff
このパッチにより、Starpitによるプロセス増加が遅延60sの場合で1.5倍ほどですむようになります。
または、Starpitにより増加したプロセス数を、遅延90sで40%程度、遅延60sで70%程度に減らすことが出来るようになります。
(追記)
このパッチを当てたPostfixでStarpitを導入された方は、できればsmtpdの平均プロセス数を導入前後で測っていただき、レポートいただけないでしょうか。
「ps ax|grep smtpd|wc -l」とかをcronで定期的にとっていただければありがたいですが、気がついた時に何回か測っていただいた平均程度でもかまいません。
こちらのコメントか、プロフィールのアドレスまでメールください。
また、このパッチを当てることの副効果として、どれだけ遅延が掛かかったときに切断されたかをログに残すことが出来ます。
それにより、スパマーがどのくらいのタイムアウトに設定しているのか客観的な情報を集めて、遅延時間を決めることが出来るようになります。