Viktor Dukhovni:
> On Mon, Jun 15, 2020 at 08:25:31PM -0500, Noel Jones wrote:
> 
> > Postfix has only one queue, and concurrency and process count is
> > per-destination, not based on where the mail came from.
> > 
> > Consider using a separate postfix instance for delivering mail list
> > messages to prevent them from interfering with regular mail. See
> > MULTI_INSTANCE_README
> 
> There's one active queue, but within that active queue messages are
> queued to a particular (transport,nexthop) pair, and scheduling is
> round-robin by transport, and then FIFO, subject to concurrency and
> process limits and amortised pre?mption of multi-recipient messages by
> messages with fewer recipients, so that messages with lots of recipients
> don't hog the queue too long before some other messages with fewer
> recipients that arrived later get to use a delivery slot.
> 
> If one just wants to put messages in multiple "lines" for delivery
> scheduling, but otherwise all settings are the same, then using multiple
> transports is simpler and often just as effective as multiple instances.

The more Postfix can do by itself, the better. That could be:

- Adding layer of sender-based round-robin selection. Not sure if
that would explode at large scale.

- Adding some artificial 'cost' value that is computed while delivery
requests are added to per-destination queues. Cost could depend on
the number of delivery requests per sender email address, the message
size, and so on. Then, the scheduler could choose what-to-deliver
based on artificial cost in addition to the things that it already
considers now.

        Wietse

Reply via email to