If you check postconf | grep default_destination_concurrency_limit
you can see how the various --xxxxxx--_destination_concurrency_limit
are set.
The default values are: smtp_destination_.., relay_destination.. etc points to $default_destination_concurrency_limit
, and the value is set to 20
If a value is set to a sepcific transport, like smtp, it will override the default value (obviously)
The next item to check/match is postconf | grep destination_recipient_limit
Depending on the value set for a specific transport, like smtp, it will cause the meaning of the value set for smtp_destination_concurrency_limit
as follows:
Value = 1 smtp_concurrency_limit is referring to the same recipient.
Value > 1 smtp_concurrency_limit is referring to the same domain.
Different recipients/domains are delivered in parallel, subject to the process limits specified in master.cf.
The default process limit is 100 (if not set explicitly) , so you have to limit the smtp max processes to "your value" = max concurrent accepted by your ISP
See also postconf man page
and master.cf