backoff-max-msg-rate

<domain>Хаб задаёт сам

Какой темп действует, пока очередь в backoff
в конфигурации это строкаbackoff-max-msg-rate 5/hвнутри блока <domain>
Темп на время backoff

Пока очередь в режиме backoff, вместо обычного max-msg-rate действует это значение. Смысл режима в том, чтобы притормозить, когда получатель начал отказывать, и дать ему остыть, а не долбиться в него с прежней скоростью.

Двойник не включён, пока его не задали. Если директива не написана, в backoff действует обычный темп, и режим не делает ничего. Это не предположение, а поведение по умолчанию: у каждого лимита есть двойник, и все они по умолчанию равны своим обычным значениям.

Главная ловушка. Задать двойник и не задать условие выхода. Очередь, вошедшая в backoff, останется там навсегда, пока не сработает backoff-to-normal-after или backoff-to-normal-after-delivery — а ни одно из них по умолчанию не включено.
Что делает Хаб. Пишет из пресета узла: «Аккуратный» — одно письмо в час, «Сбалансированный» — пять, «Агрессивный» — двадцать, то есть примерно в сто раз медленнее обычного темпа того же пресета. Строка всегда задаётся вместе с условием выхода. Адресам под прогревом она не пишется: у них и так одно письмо в час.
Рекомендуемые значения
Режим На адрес (vMTA) В правиле провайдера Когда это ваш случай
Прогрев, холодный адрес 1/h — Адрес младше 4–6 недель или после паузы
Аккуратно 1/h — Строгие получатели, спорная репутация, первые недели после прогрева
Сбалансированно по умолчанию 5/h — Обычный режим устоявшегося парка
Агрессивно 20/h — Прогретые адреса, лояльные получатели, срочные объёмы
Умолчание PowerMTA значение max-msg-rate, если оно задано, иначе unlimited — Если директиву не писать вовсе

Кратно ниже обычного, а не на четверть. Смысл щадящего режима — дать приёмнику передышку. Разница в порядок величины он заметит, разница в проценты — нет.

Час — разумная единица. В щадящем режиме считать письма минутами обычно уже не имеет смысла: очередь всё равно отдаёт единицы.

Задавать надо явно. Умолчание берёт max-msg-rate, если тот задан; то есть строки «по умолчанию будет мягче» не существует.

Кратность и выбор часа как единицы — наши. Из руководства здесь синтаксис темпа, счёт попыток наравне с доставками и правило умолчания «равно max-msg-rate, если он задан».
Пример в конфигурации
# обычный темп и щадящий отличаются на два порядка
<domain hotmail.com>
    max-msg-rate 500/h
    backoff-max-msg-rate 1/h</domain>
Без второй строки щадящий режим оставил бы те же пятьсот писем в час — умолчание берёт обычное значение.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается2 ошибки▶

Полагаются на то, что backoff притормозит сам

our-experience

Чем чреватоУмолчание равно обычному темпу, если тот задан. Очередь в щадящем режиме без явной строки отдаёт письма ровно так же быстро, как и до него, — режим виден в мониторе, но ничего не ограничивает.
Как заметитьОчередь в backoff, а темп прежний.
Как правильноЗадать значение явно и кратно ниже обычного.

Снижают темп символически

our-experience

Чем чреватоПриёмник реагирует на порядок величины. Четыреста писем в час вместо пятисот он не отличит, и очередь просидит в щадящем режиме дольше, ничего этим не улучшив.
Как заметитьОчередь подолгу не выходит из backoff, доля отказов не меняется.
Как правильноСнижать кратно: с сотен в час до единиц.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
backoff-max-msg-rate <rate>
Значения
unlimited · 0 · N/[M] с единицей d|day|h|hr|m|min|s|sec — например 1/h
Умолчание
значение max-msg-rate, если оно задано, иначе unlimited § 3.3.10.41
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение сливается по блокам <domain> от общего к частному: побеждает наиболее подходящий блок, а не последний по файлу. Умолчание зависит от соседней строки: если задан max-msg-rate, он и становится умолчанием. Подхватывается по pmta reload.
Как проверить на узле
Действующее значение печатает команда настроек очереди; совпадение с обычным темпом означает, что строку не задавали:
pmta show settings hotmail.com/vmta1 | grep -i backoff-max-msg-rate
pmta show queues --mode=backoff --maxitems=20
Срабатывание видно в веб-мониторе: он называет директиву, придержавшую очередь, — по имени сразу понятно, обычный это лимит или щадящий.
В Хабе
Управляется
Конфигурации → Поведение при отказах
Значение
Хаб подбирает сам — темп, стадия прогрева, метрики
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Прогрев адресов · Настроить темп под провайдера