max-smtp-out

<virtual-mta>Хаб задаёт сам

Сколько одновременных соединений держать со всего этого адреса
в конфигурации это строкаmax-smtp-out 15внутри блока <virtual-mta>
То же имя ещё 2:<domain><virtual-mta><virtual-mta-pool>— часть из них другие настройки, часть та же самая
Потолок соединений на весь адрес отправки

Сколько одновременных соединений держит этот адрес отправки суммарно по всем получателям. Работает уровнем выше, чем одноимённая директива в блоке получателя: та ограничивает одну очередь, эта — все очереди этого адреса.

Три одинаковых имени, три разные настройки. max-smtp-out живёт в блоке получателя, в адресе отправки и в пуле; у каждой своё умолчание и своя область. Смотреть надо на блок, а не на имя.

Без строки предела нет. Умолчания для этого уровня руководство не называет, а вывод настроек печатает unlimited. Адрес, у которого строка не написана, ограничен только лимитами своих очередей и потолком узла — это не то же самое, что двадцать по умолчанию в блоке получателя.

Главная ловушка. Лимит адреса делится между всеми его получателями. Если адрес шлёт на десять доменов с лимитом очереди по пятнадцать, суммарно они захотят полтораста соединений — и получат столько, сколько разрешено здесь, молча поделив между собой.
Что делает Хаб. Ставит число выбранного темпа — 5, 15 или 40 соединений; если в подробной настройке узла задано своё, идёт оно. Прогреваемый адрес получает единицу, а рядом с ней — блок с маркерами WARMUP-MANAGED, где прогрев держит темп; весь файл переписывается при каждом применении. Резервный адрес, куда щадящий режим уводит очередь, получает 1, 2 или 5 — по тому же темпу: туда попадают письма, от которых приёмник уже отказался. От числа получателей Хаб ничего не считает — значение берётся из пресета как есть.
Рекомендуемые значения
Режим На адрес (vMTA) В правиле провайдера Когда это ваш случай
Прогрев, холодный адрес 1 1 Адрес младше 4–6 недель или после паузы
Аккуратно 5 2 Строгие получатели, спорная репутация, первые недели после прогрева
Сбалансированно по умолчанию 15 5 Обычный режим устоявшегося парка
Агрессивно 40 10 Прогретые адреса, лояльные получатели, срочные объёмы
Умолчание PowerMTA unlimited — Если директиву не писать вовсе

Считать от числа получателей, а не наугад. Адрес шлёт на несколько доменов, и у каждой очереди свой лимит. Если очередей десять и каждой разрешено по пятнадцать соединений, вместе они захотят полтораста — столько адрес и откроет, если здесь ничего не написано.

Резервный адрес получает меньше всех. Тот, на который щадящий режим уводит очередь, держит 1, 2 или 5 соединений — по выбранному темпу. Давить приёмник, который уже отказался, незачем.

Лимит очереди Хаб отдельно не задаёт. В общем блоке получателей внутри адреса строки нет: каждая очередь живёт с вендорскими двадцатью под потолком адреса. Своё, заметно меньшее число — 2, 5 или 10 — получает только правило почтовика.

Числа режимов наши, обкатанные на парке. Вендор умолчания для этого уровня не называет — команда настроек печатает unlimited.
Пример в конфигурации
<virtual-mta mta-news-1>
    smtp-source-host 203.0.113.10 mail.example.com
    max-smtp-out 15    <domain *>
        max-msg-rate 10/m
    </domain>
</virtual-mta>
Пятнадцать соединений — на весь адрес: сколько бы получателей он ни обслуживал, больше пятнадцати разговоров одновременно не будет.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Оставляют строку пустой, полагаясь на лимиты очередей

§ 6.3.22

Чем чреватоБез этой строки у адреса нет предела вовсе, и лимиты очередей складываются. Десять получателей по пятнадцать соединений — полтораста с одного адреса, и репутацию теряет адрес целиком, а не одна очередь.
Как заметитьПриёмники начинают отвечать 421 сразу по нескольким доменам, и в мониторе видно, что адрес держит больше сотни соединений. По каждой отдельной очереди при этом всё в пределах написанного.
Как правильноНаписать потолок адреса и держать его заметно ниже суммы очередей: все очереди редко работают разом, и запас под пик здесь вреден.

Ставят адресу меньше, чем разрешено его очередям

§ 6.3.16

Чем чреватоПервым срабатывает потолок адреса, и нигде не сказано, что упёрлись именно в него. Очередь не получает соединений, а выглядит это как медленный приёмник.
Как заметитьОчереди не выбирают свой лимит, отказов нет, доставка просто ровнее и медленнее ожидаемой. В настройках очереди при этом стоит то, что писали.
Как правильноСмотреть оба уровня сразу — pmta show settings <домен>/<адрес> печатает и лимит адреса, и лимит очереди, одним выводом.

Правят значение у прогреваемого адреса

наш опыт

Чем чреватоБлок прогрева помечен маркерами и переписывается Хабом целиком, так что правка теряется. А останься она — прогрев на то и прогрев, что провайдер судит новый адрес строже всего в первые недели.
Как заметитьПосле следующего применения конфигурации значение снова единица, хотя правку никто не отменял.
Как правильноМенять стадию прогрева, а не строку в конфигурации.

Ждут, что потолок адреса поделится между получателями поровну

§ 3.3.12.12

Чем чреватоО делёжке руководство не обещает ничего — сказано только, сколько соединений адрес откроет суммарно. Очередь, которой есть что везти, занимает свободные соединения первой, и тихий получатель ждёт.
Как заметитьПисьма на мелкие домены уходят с задержкой, хотя те не отказывают и очереди к ним не пустеют.
Как правильноОграничивать не пострадавшую очередь, а соседей — их лимитом в блоке получателя; либо развести получателей по разным адресам отправки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
max-smtp-out <integer>
Значения
положительное целое, число одновременных соединений; без строки предела нет — вывод настроек показывает unlimited
Умолчание
unlimited § 6.3.22
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<virtual-mta>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение адреса перекрывает пуловое, а пуловое — общее для узла. Лимит получателя (<domain> внутри адреса) его не заменяет, а работает под ним: сначала проверяется лимит очереди, потом общий лимит адреса, потом потолок узла. Подхватывается по pmta reload.
Как проверить на узле
Что получилось у адреса после слияния с пулом и узлом, печатает команда настроек адреса:
pmta show vmta-settings mta-news-1
Строка max-smtp-out в шапке вывода. Сколько соединений занято прямо сейчас, показывает pmta show vmtas — колонка conn по каждому адресу. § 6.3.21, § 6.3.22
В Хабе
Управляется
Конфигурации → Лимиты доставки
Значение
Хаб подбирает сам — темп, стадия прогрева, метрики
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Прогрев адресов · Настроить темп под провайдера