Knowledge base

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

backoff-max-data-volume-rate

<domain>

What volume rate applies while the queue is in backoff
in the configuration this is a linebackoff-max-data-volume-rate the value of max-data-volume-rate when set, otherwise unlimitedinside the block <domain>
Volume in backoff mode

It replaces max-data-volume-rate while the queue is in backoff mode: how much data may be transferred to the recipient per interval. As with its regular twin, only what is delivered counts — refusals do not use up volume.

The default takes the regular value. If max-data-volume-rate is set for the same queue, it becomes the default; otherwise unlimited. The rule is common to the whole backoff-* family, and it has one consequence: without an explicit line, backoff mode does not limit volume.

The size suffix is mandatory. b · k · m · g · t; without it the number is read as bytes. The mistake here is quieter than with messages: the queue simply stops sending, and the cause is not obvious.

The main trap. Of the whole family this directive is needed less often than the others — and so it is more often set “for company,” without calculation. A receiver that slowed down a queue looks at connections and messages, not at bytes. Limiting volume in backoff mode makes sense where the bottleneck is the channel rather than the recipient’s attitude; otherwise the line adds a setting that has to be remembered later.
What the Hub does. It does not write it — neither the regular volume limit nor its backoff twin. The fleet’s pace is set by messages and connections, and message weight is calculated on the campaign side.

The line is needed where the channel is narrow or traffic is paid for: then it is reasonable to limit backoff mode by volume too.

Recommended values

Count from the regular volume, not from zero. It starts to make sense when the value is several times below normal: halving is unnoticeable, five times already relieves the channel.

Messages and connections first. If the task is to calm the receiver, a volume limit gives almost nothing; backoff-max-msg-rate and backoff-max-smtp-out do the work. Volume is about the channel.

Always write the suffix. A number without a suffix means bytes, and the queue in backoff mode will stop completely.

The multiple and the caveat about priority are ours. From the manual here come the syntax with suffixes, the default rule “equal to the regular limit if it is set” and counting only successful deliveries.
Example configuration
# the channel is narrow: in backoff mode we send four times less
<domain hotmail.com>
    max-data-volume-rate 2g/h
    backoff-max-data-volume-rate 500m/h</domain>
The suffix is mandatory in both lines. Without the second, backoff mode would keep the same two gigabytes an hour — 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 the default

§ 3.3.10.45

What it costsThe default equals the regular volume limit if that is set. Backoff mode without an explicit line does not limit volume at all.
How to spot itThe queue is in backoff, but the traffic on the interface is the same.
How to do it rightSet the value explicitly and several times below the regular one.

Writing a number without a size suffix

§ 3.3.10.45

What it costsWithout a suffix the value is read as bytes: 500/h is five hundred bytes an hour, that is, a standstill. In backoff mode this is especially unnoticeable — a slow queue is expected anyway.
How to spot itThe queue in backoff sends nothing at all, although the message limit allows it.
How to do it rightAlways write the suffix: 500m/h, 2g/h.
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-data-volume-rate <rate>
Values
unlimited · 0 · N with a suffix b|k|m|g|t and an interval — for example 500m/h
Default
the value of max-data-volume-rate when set, otherwise unlimited § 3.3.10.45
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-data-volume-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; the volume that actually went through the queue is visible in the summary:
pmta show settings hotmail.com/vmta1 | grep -i backoff-max-data-volume
pmta show queues --mode=backoff --maxitems=20
If the first command prints the same value as max-data-volume-rate, the line is not set and the default has taken the regular limit. The queue summary has a kilobytes column: it shows how much data is sitting in the queue.
In the Hub
Cost of a mistake
reversible: harms only while it is set
Scenarios
Address warm-up · Tune the pace for a provider