On Thu, 15 Feb 2007, Marc Haber wrote:
> The system in question is running with queue_only = true to take
> advantage of the two-stage queue running process invoked by exim -qq.
That is an unusual configuration, for which the default settings were
not designed. Not only is remote_max_parallel relevant, but
same_domain_copy_routing is probably wanted here. You would find that if
you grepped the spec for "mailing list".
> Most of my setups use real mailing list software which batches up the
> outgoing mail into many messages with a few hundred recipients each.
Indeed, that is sensible.
> The current case, where an alias is used to expand a single address
> into a list of 20K recipients, is a "first" for me and I was
> dumbfounded by exim not having delivered to the first thousand
> recipients after an hour.
You are lucky it works at all - not Exim, which should manage 20K
recipients - but if you try to send a single copy somewhere with more
than a few hundred recipients, it may get rejected. RFC 2921 says:
recipients buffer
The minimum total number of recipients that must be buffered is
100 recipients. Rejection of messages (for excessive recipients)
with fewer than 100 RCPT commands is a violation of this
specification.
More than 100 recipients in the same domain is therefore risky. Another
point is that, with 20K recipients, Exim will use a lot of main memory
(but that may not be an issue in these days of multi-gigabyte memories).
> Unfortunately, the system owner decided to replace exim with postfix
> before I found out about remote_max_parallel. Postfix delivers to all
> 20K recipients in like five minutes.
So Postfix is clearly optimized well by default for this application.
--
Philip Hazel University of Cambridge Computing Service
Get the Exim 4 book: http://www.uit.co.uk/exim-book