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