Procmail経由のSpamAssassinの並列化(高速化) with Postfix

| コメント(0) | トラックバック(0)

以前書いたように、SpamAssassinをProcmail経由で処理させているときの話。
SpamAssassinを複数プロセス立ち上げても、どうも並列処理はされないし速度も速くならなくて、メーリングリストなどで大量のメールが送られてくると、ProcmailでSpamAssassinを立ち上げるところでボトルネックになってしまいます。

実はPostfixは、デフォルトではメールボックスの処理を同時に1通しか処理しないようになっています。
確かに、並列処理してしまうと、時系列順にメールボックスに入らなくなったりする可能性がありますので、このようになっているのだと思います。
それにあわせて「mailbox_command」にProcmailを指定して処理させているときも、1通ずつしかメールを処理してくれません。
そうするとおのずと、SpamAssassinも1通づつしかメールを処理しません。

この並列処理数を増やすには、Postfixで「local_destination_recipient_limit」という設定を変更します。
postfix/main.cfに、


local_destination_recipient_limit = 2

上記のように記述すると、同時に2通のメールをメールボックスで処理しますので、「mailbox_command」も2通同時に処理されます。
SpamAssassinも2通並列で処理してくれますので、大量のメールも高速でさばいてくれます。
SpamAssassin自体は重いですけどね。

ちなみに、「mailbox_command」などのコマンドの実行時間を設定するには、「command_time_limit」という設定を変更します。
デフォルトは1000sなので、倍にするには、postfix/main.cfに


command_time_limit = 2000s

のように記述します。

Postfixは様々な設定があって、動作を詳細に設定できていいですね。

トラックバック(0)

トラックバックURL: http://blog.harmonicom.jp/mt/mt-tb.cgi/112

コメントする

プロフィール

ヤマカズー(ヤマカズ)

Webコンサルティング会社に勤めるシステムコンサルタントのおっちゃんです。
趣味はコンピューター。まんまですね。
あと申し訳程度に空手とか。
子供が二人います。

kazooooo at gmail.com

mixiはこちら

HARMONICOM

twitter

スゲーなんだこれ!?w > スマホをPCのセカンドディスプレーにできるAndroidアプリがイカス! #asciiplus http://t.co/4hbbnZeb
2012-02-02 20:08:03
いやあぁぁぁぁ~~!! ん?「D」と「.」?……「し」「る」? RT @hizous : @yamakazoo サーバの後ろに悲しそうな顔をした日本髪の若い女性が見えます・・・何か心当たりはないですか・・・? ん?キーボードの「D」と「、」のところを指さしているようです・・・
2012-02-02 11:39:49
家のMacBookといい会社のサーバーといい、原因不明なところでCPUがフルパワーになったり、ディスクへのアクセスが異様に遅くなったりする……これってある意味、寿命ってことなのかな……
2012-02-02 11:16:13
おお! RT @YahooNewsJP : [社会]<雑記帳>劇団四季「キャッツ」出演者が電子確定申告 - 毎日新聞 http://t.co/5tDvGJI6
2012-02-01 22:50:43
うちの会社にも備蓄いっぱい!! 深夜メンテの時にこっそり食べ(ry RT @YahooNewsJP : [社会]「ビスコ」売り上げ過去最高に…備蓄用缶人気で - 読売新聞 http://t.co/ZKIpZ1RJ
2012-02-01 19:12:41
follow me on Twitter