On Thu, Sep 07, 2000 at 10:36:38AM -0500, Ken Jones wrote:
[snip]
> 
> I've had good luck with some rate limiting tricks.
> 
> 1) Inject 500 messages then wait 2 seconds. This seems to give 
>    qmail-send time to process the 500 messages and kick off more
>    qmail-remotes before it has to deal with the next 500 new messages.

This is the problem sometimes referred to as 'thundering herds', because
*one* process is handling the move from todo/ to local/ and/or remote/,
*and* is spawning new deliveries.

> 2) Call qmail-queue directly, saves on one fork/exec

Hardly relevant savings :)

> 3) have the perl script monitor the size of the queue. Slow down
>    the rate of injection if the queue gets above 10K or if the
>    todo gets above 2K. Qmail's ability to fork qmail-remote 
>    processes drops when the inode trees get large. 

That's what conf-split helps with :)

The real trick to high mailinglist performance is only injecting a
message once. qmail is excellent at high-rate delivery of one message to
20.000 recipients. It sucks at handling 20.000 separate messages all
injected at the same time.

Greetz, Peter
-- 
dataloss networks

Reply via email to