connection-idle-timeout

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

Сколько держать простаивающее соединение открытым в ожидании писем
в конфигурации это строкаconnection-idle-timeout 5mвнутри блока <domain>
Сколько держать соединение открытым без писем

Соединение, по которому нечего слать, закрывается через этот интервал. Ноль означает «закрывать сразу, как только очередь опустела».

Зачем держать пустое соединение. Рукопожатие TLS стоит дороже самого письма, и если через полминуты в очередь придёт следующее письмо тому же получателю, переиспользовать открытое соединение заметно дешевле, чем открыть новое. На ровном потоке это экономит и время, и соединения, которые считает провайдер.

Главная ловушка. Открытое соединение занимает слот и у вас, и у получателя. Большое значение при неровном потоке означает, что часть разрешённых max-smtp-out соединений простаивает, а очередь к другому получателю ждёт свободного слота под потолком узла.
Что делает Хаб. Пишет из пресета узла: «Аккуратный» — минута, «Сбалансированный» — пять минут, «Агрессивный» — десять, потолок MTA. Пяти минут хватает, чтобы пережить паузу между пачками, и мало, чтобы занять слот надолго.

Адресам под прогревом строка не пишется: у них один поток, и соединение закрывается сразу, как только слать нечего.

Рекомендуемые значения
Режим На адрес (vMTA) В правиле провайдера Когда это ваш случай
Прогрев, холодный адрес 1m — Адрес младше 4–6 недель или после паузы
Аккуратно 1m — Строгие получатели, спорная репутация, первые недели после прогрева
Сбалансированно по умолчанию 5m — Обычный режим устоявшегося парка
Агрессивно 10m — Прогретые адреса, лояльные получатели, срочные объёмы
Умолчание PowerMTA 0 — Если директиву не писать вовсе

Потолок задан MTA: десять минут. Больше руководство не примет, и это разумно — соединение, простоявшее десять минут, приёмник с большой вероятностью закроет сам.

Смысл — пережить паузу между пачками. Если письма приходят неровно, закрытое соединение придётся открывать заново, а частые подключения приёмники считают внимательнее объёма. Пять минут закрывают обычный разрыв между пачками одной рассылки.

Умолчание 0 — соединение закрывается сразу, как только слать нечего. Для ровного потока это нормально, для рваного — расточительно.

Порядок величины — наша рекомендация. Из руководства здесь умолчание 0, потолок в 10m и назначение: сократить число нужных соединений и не упереться в лимит на частоту подключений.
Пример в конфигурации
# держим соединение между пачками, но не дольше нужного
<domain hotmail.com>
    max-smtp-out 15
    connection-idle-timeout 5m</domain>
Пять минут переживают паузу между пачками одной рассылки. Ставить десять — потолок MTA — стоит только там, где поток совсем рваный.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Задают больше десяти минут

§ 3.3.10.92

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

Держат соединения дольше, чем идёт поток

наш опыт

Чем чреватоОткрытое соединение занимает слот и у вас, и у приёмника. При неровном потоке часть разрешённых max-smtp-out окажется занята простаивающими соединениями, и на письма их не хватит.
Как заметитьСоединений столько, сколько разрешено, а писем уходит мало.
Как правильноСокращать удержание до реальной паузы между пачками, а не ставить потолок «про запас».
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
connection-idle-timeout <time-interval>
Значения
интервал времени, не больше 10m; умолчание 0 — закрывать сразу
Умолчание
0 § 3.3.10.92
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение сливается по блокам <domain> от общего к частному: побеждает наиболее подходящий блок, а не последний по файлу. Подхватывается по pmta reload, перезапуск не нужен; уже открытые соединения доживают со старым значением.
Как проверить на узле
Признак того, что значение работает, — соединения, висящие при пустой очереди. Действующее значение печатает команда настроек:
pmta show settings hotmail.com/vmta1 | grep -i idle
pmta show queues --connected=yes --maxitems=20
Вторая команда показывает очереди с открытыми соединениями. Очередь без писем, но с соединениями — это и есть удержание; если таких нет, значение либо ноль, либо слишком мало для вашего потока.
В Хабе
Управляется
Конфигурации → Лимиты доставки
Значение
Хаб подбирает сам — темп, стадия прогрева, метрики
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Настроить темп под провайдера