On Mon, 21 Jan 2002, Marc Perkel wrote:
> What I'm trying to understand is if I set:
>
> queue_run_max = 20
> remote_max_parallel = 10
>
> Then - at one minute intervals a new queue process starts forking 10
> delivery processes each eventually getting up to 200 processes after 20
> minutes. Do I understand that right?
No. From the manual (note second paragraph):
-q If the -q option is not followed by a time value, it requests a single
queue run operation. This option requires the caller to be an admin
user. However, there is an option called "prod_requires_admin" which
can be set false to relax this restriction (and also the same
requirement for the -M, -R, and -S options).
===> Exim starts up a delivery process for each (inactive) message on the
===> queue in turn, and waits for it to finish before starting the next one.
A queue runner does NOT fork 10 delivery processes. It only ever forks
ONE delivery process. More from the manual:
remote_max_parallel Type: integer Default: 1
This option controls parallel delivery to remote sites. If the value is
less than 2, parallel delivery is disabled, and Exim does all the remote
deliveries for a message one by one, from a single delivery process.
Otherwise, if a message has to be delivered to more than one remote host,
or if several copies have to be sent to the same remote host, then up to
"remote_max_parallel" deliveries are done simultaneously, each in a separ-
ate process.
Perhaps it should say "if a SINGLE message", to make it clearer. There
is a section on p66 of the O'Reilly book entitled "Controlling the
number of delivery processes" which explains things more. Briefly:
queue_run_max = 20 => There are never more than 20 queue runners
running at once. Each will only ever fork one
delivery process (for one message) at once.
remote_max_parallel = 10 => Each delivery process will fork up to 10
subprocesses if there are that many remote
hosts that it has to deliver to.
If all your messages have only one remote recipient, remote_max_parallel
will have no effect.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.