メイルサーバの設計をしっかり行うためには 定量的な予測と評価が必要です。
メイル配送の仕組みを理解していないと、
測定しても結果を解釈することができないでしょう。
(OS の知識、性能測定の知識が要求されることは言うまでもありません。)
qmailの内部構造を理解して、
付属文書
にあることを確かめるのはいい勉強になります。
qmailの配送性能に関心があって、勉強する気のある人むけの
メイリングリストを用意しました。
f1 メイリングリスト:
Bersteinソフトウェアの性能測定と改善について議論しています。
f1-help (ドメインは qmail.jp) 宛に空のメイルを送れば、
登録案内が返ってきます (メンバ登録には審査があります)。
qmail 性能改善のためのいくつかのアイデアは THOUGHTSに書かれています。
基本線:
qmail では安全確実にメイルを受信するために、 ディスクへの書きこみをたびたび確認(fsync)しています。 このため、受信は他の MTA に比べると遅いようです。
宛先ごとに異なる内容のメイルを qmail を使った中継サーバに中継させて 配送させると、中継サーバの queue があるディスク入出力が 隘路になってしまいます。 こういう使い方は qmail を使う側のシステム設計の誤りです。
ディスク入出力がボトルネックになっています。 ディスクのwrite cacheなどを生かすと速くなりますが、UPSなどを装備していないと、 停電時にメイルを失なう危険が大きいのです。 Linux ext2 ファイルシステムも 同様の事情のようです。速いと喜んではいけません。
FreeBSD 4.6 を Pentium 4 2.2GHz と ATA 100 ディスク で動かした場合、 Softupdates なしでも 120 通/秒 となりました。(HDD Write cache ON のようです。)
The Qmail and ReiserFS Integration HOWTO
Benchmarking qmail on Linux Filesystems