(入口) | 記事目次 | まえがき | 1.94.4 | 設置方法 | 問題 | NEWLIST | smtpfeed | mlist2html | まとめ | 図表一覧

【smtpfeed を使って配送を効率化】

majordomo を sendmail と組合せて使う場合、 例えば、100 人の配送先があるとすると、 全て送り終わるのに10 分程度かかってしまうことがあります。 1000 人では 100 分ということになってしまいます。 この原因は、sendmail の処理が直列に行なわれる、 つまりある一通を送り終わるのを待ってから次の処理が行なわれるからです。 一通送ることを考えてみますと、その一つ一つの送り先について(ごく簡略化すると) ということをするのですが、その時に何かの Network 的な遅れ(反応の遅さ)があったり、DNS server が忙かったり、 最悪配送先がたまたま動いていなくて、返事がなく、時間切れであきらめる。 いうことがあると、一通に二分くらいかかってしまうこともあります。 また 一通ずつ DNS に配送先を聞いた結果、 それらが実は同じ配送先のメールがいくつもあったというような場合に、 それらをまとめて送っていたら、とても能率的なのですが、 そのようなことも行なわれません。

これでは時間がかってしまうのも当然です。 そこで、いくつか同時に(並行して)処理をします。 そうするとある特定の一通の配送に時間がかかっても、 その待っている間に他のメールを転送することにより全体の配送時間を短 縮することが出来ます。

そういう処理をしてくれるのが、 WIDE project の中村素典さんが作った smtpfeed です。 これを sendmail.cf に設定して、sendmail の後に控えさせておきます。

そうすると、majordomo からは sendmail を起動するだけで、 (状況にもよるのですが) 十倍以上の高速化が得られます。 smtpfeed は安易な設定するだけでも、このような効果があります。 その他さらに様々な調整が出来るようですが、今回はその安易な設定だけ をして見ます。

sendmail については、 「一回の SMTP での接続作業の際に転送可能な受信者数を大幅に増やす必 要がある」 ので WIDE patch を当てます。これらの smtpfeed や WIDE patch は
ftp://ftp.kyoto.wide.ad.jp/pub/mail/smtpfeed/
から入手出来ます。

 (1) sendmail に WIDE patch (名前は例えば
     sendmail893+3.2W.patch.gz )を当てて 
     ./Build;
     ./Build install
 (2) smtpfeed の make と make install
     (/usr/libexec/smtpfeed などに入ります)
 (3) CF を使って sendmail.cf を作るのに六行
    だけ変更(または追加) 
で出来ます。CF の変更点は図 に示します。も し CF を使わないで設定したいという場合には (例えば) smtpfeed-1.01/INSTALL.j に詳しい説 明がありますので、そちらを参照して下さい。 詳しいことを知りたい場合は smtpfeed の配布に 含まれる 大文字.j の譜に日本語で説明がありま すので、是非お読みになって下さい。

次は mlist2html です。

(入口) | 記事目次 | まえがき | 1.94.4 | 設置方法 | 問題 | NEWLIST | smtpfeed | mlist2html | まとめ | 図表一覧



Last Update
10:53:34 03/12/08
CCBot/2.0 (https://commoncrawl.org/faq/)
Count.cgi
(since 1999/08/22)