Knowledge base

PMTA knowledge base›Block <domain>›Directive§ 3.3.10.95

backoff-max-connect-rate

<domain>

What connection-opening rate applies while the queue is in backoff
in the configuration this is a linebackoff-max-connect-rate the value of max-connect-rate when set, otherwise unlimitedinside the block <domain>
Connection rate in backoff mode

It replaces max-connect-rate while the queue is in backoff mode. The meaning is the same: how many new connections may be opened per interval. The only difference is when the value applies.

The default is not “no limit.” The manual describes it like this: if max-connect-rate is set for the same queue, that value becomes the default; and only if there is no regular rate — unlimited. That is, without an explicit line, backoff mode does not slow connections down at all: it works exactly like the normal mode.

This is the family’s common rule. The defaults of backoff-max-msg-rate and backoff-max-data-volume-rate work the same way. Hence a non-obvious consequence: switching a queue to backoff may by itself change nothing.

The main trap. Backoff without backoff-* values set is backoff in name only. The queue is marked, the monitor shows a different mode, and messages go at exactly the same rate. The investigation then goes astray: people look for why backoff mode does not help — while it was never enabled as a limit.
What the Hub does. It does not write it — but it writes its family neighbors: backoff-max-msg-rate (one to twenty messages an hour depending on the node preset) and backoff-max-smtp-out. The connection rate in backoff mode is not set separately: at such a message rate there are few connections anyway.

If you set it by hand, keep in mind that the value must be noticeably lower than the regular one, otherwise the line changes nothing.

Recommended values

Count from the regular rate, not from zero. Backoff mode makes sense when it is noticeably below normal: five times, ten times. A value that differs by a quarter will go unnoticed by the receiver.

Connections matter more than volume. A receiver that slowed down a queue reacts primarily to connections. Of the whole backoff-* family, this directive and backoff-max-smtp-out affect its attitude more than the limits on messages and bytes.

It must be set explicitly. The default takes the regular rate — that is, there is no such thing as “by default everything will be gentler.”

The multiple and the advice about the priority of connections are ours. From the manual here come the syntax, the default rule “equal to the regular rate if it is set” and the fact that the directive replaces max-connect-rate in backoff mode.
Example configuration
# in backoff mode we connect six times less often
<domain hotmail.com>
    max-connect-rate 30/m
    backoff-max-connect-rate 5/m</domain>
Without the second line, backoff mode would keep the same thirty connections a minute — the default takes the regular value.
yellow — — directive names, blue — blocks. They are highlighted the same way in the text of the card.
▲

Common mistakes and problems

what people get wrong and how it ends2 mistakes▶

Relying on backoff to slow things down by itself

§ 3.3.10.95

What it costsThe default equals the regular rate if that is set. A queue switched to backoff mode without explicit backoff-* values connects exactly as often as before.
How to spot itThe queue is in backoff, but the number of connections has not changed.
How to do it rightSet backoff-max-connect-rate explicitly, several times lower than the regular rate. The same goes for the other directives of the family.

Lowering the rate symbolically

our experience

What it costsA receiver that slowed down a queue reacts to the order of magnitude, not to percentages. It will not tell thirty connections from forty, and backoff mode will not bring the return to normal any closer.
How to spot itThe queue stays in backoff for a long time, and the refusals are the same.
How to do it rightLower it by a multiple — five times or more. Backoff mode is meant to go easy.
Compatibility
PowerMTA 6.0
described in the manual of this version · platform: any
The vendor does not state the first version for every directive — there is no note here. The name also appears in the 5.0 edition of the manual.
Reference data
Syntax
backoff-max-connect-rate <rate>
Values
unlimited · 0 · N/[M] with a unit d|day|h|hr|m|min|s|sec — for example 5/m
Default
the value of max-connect-rate when set, otherwise unlimited § 3.3.10.95
Applying
reload, no restart needed
Queue
will not touch what is already queued
Where to write it
<domain>
How many times
once in the block
Everything here comes from the manual, with the section.
Inheritance
The value merges across <domain> blocks from general to specific: the best-matching block wins, not the last one in the file. The default depends on the neighboring line: if max-connect-rate is set in the same queue, it becomes the default. It is picked up by pmta reload.
How to check on the node
The effective value is printed by the queue settings command; to see it in action, you need a queue that is currently in backoff mode:
pmta show settings hotmail.com/vmta1 | grep -i backoff-max-connect-rate
pmta show queues --mode=backoff
If the first command prints the same value as max-connect-rate, the line is not set and the default has taken the regular rate. The second shows whether there are queues it currently applies to.
In the Hub
Cost of a mistake
reversible: harms only while it is set
Scenarios
Address warm-up · Tune the pace for a provider