procmail: Timeout, terminating "/usr/bin/bogofilter"

Matthias Andree matthias.andree at gmx.de
Mon Jan 15 23:50:11 CET 2007


Daniel Leidert <daniel.leidert.spam at gmx.net> writes:

> Am Sonntag, den 14.01.2007, 18:47 +0100 schrieb Matthias Andree:
>> Daniel Leidert <daniel.leidert.spam at gmx.net> writes:
>> 
>> R> Hello,
>> >
>> > I went away a few days ago and back today I wanted to fetch all my mails
>> > (ca. 10000 at once). My system consists of: fetchmail -> exim ->
>> > procmail -> (several filters, bogofilter, spamassassin, clamassassin) ->
>> > cyrus
>> >
>> > And today I found some weired behaviour. There were more and more
>> > bogofilter processes - the amount increased up to 600-1000 in a really
>> > short time (only 2000-3000 mails were downloaded), _but_ bogofilter
>> >
>> Is that heavy-duty server class hardware, with battery-backed RAID10 or
>> RAID50 or stuff?
>
> No. A simple system, not a high-end one. It's just m private
> mail-server.

Yup. Standard ATA stuff isn't made to handle this kind of workload. Even
SCSI will probably show massive trouble unless you enable battery-backed
write caches. Solid state disks might do though.

>> I'd say avoid running more than a few dozen bogofilter processes at the
>> same time, the more you run, the more contention you'll experience
>
> Logical. Because of this I asked for a build-in possibility to reduce
> the number of running processes.

A local lockfile in procmail should do the job and not execute more than
one bogofilter process at a time. If you have, for instance,

:0fw
| bogofilter -e -p

make that (mind the colon at the end of the :0 line):

:0fw:
|bogofilter -e -p

>> Last time I checked, several years ago, Exim 3.34, it was not at all
>> robust towards increasing load.
>
> There is an queue_only_load option I never used. But for now I reduced
> the amount in smtp_accept_queue_per_connection and removed the
> auto-update switch of bogofilter (-u).

If I recall that option's functionality correctly, it doesn't help in
your problem.

Running not too many delivery processes in parallel is what you're
after, but I don't know how to word this as an exim.conf block.

-- 
Matthias Andree



More information about the Bogofilter mailing list