ignore-pipelining

<domain>

Не пользоваться расширением PIPELINING, даже если приёмник его объявил
в конфигурации это строкаignore-pipelining falseвнутри блока <domain>
Команды по одной вместо пачки

Расширение PIPELINING позволяет отправить несколько команд подряд, не дожидаясь ответа на каждую. Это заметно ускоряет разговор, особенно при большом числе получателей в одном письме. Строка отменяет его использование.

Причина в руководстве та же, что у ignore-chunking — отладка. Когда передача ведёт себя странно, разговор по одной команде читается в журнале однозначно: видно, на какую именно команду приёмник ответил как.

Цена — скорость. Без конвейера каждая команда стоит полного оборота по сети. На письме с сотней получателей это сотня ожиданий вместо нескольких.

Главная ловушка — включают «на всякий случай» и оставляют. В отличие от ignore-chunking, здесь потеря измерима: разговор с приёмником становится во столько раз длиннее, сколько команд в нём было. На больших письмах и высоком темпе это заметно сразу — но не в отказах, а в упавшей скорости.
Что делает Хаб. Не пишет — остаётся вендорское false. Как и парная строка, это инструмент разбирательства: место ему во временной правке, а не в постоянной конфигурации.
Рекомендуемые значения

Только на время разбирательства. И с комментарием, объясняющим зачем.

Вместе с ignore-chunking. Отключив оба, вы получаете самый простой возможный разговор: команда — ответ, DATA, тело, точка.

Помните про цену. У этой строки она измеримая — скорость, в отличие от парной, где теряется только механизм передачи.

Оценка цены в скорости и требование комментария — наши. Из руководства здесь умолчание и единственная названная причина: отладка проблем передачи.
Пример в конфигурации
# ВРЕМЕННО: разбираемся с обрывами передачи, 28.08 — убрать после
<domain problem.example.com>
    ignore-chunking true
    ignore-pipelining true</domain>
Пара отключений даёт самый простой возможный разговор — его удобно читать в журнале построчно.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Оставляют включённым на потоке

наш опыт

Чем чреватоКаждая команда стоит полного оборота по сети. На письмах с большим числом получателей разговор растягивается в разы, и темп падает без единой ошибки в журнале.
Как заметитьСкорость доставки к одному получателю заметно ниже, чем к остальным, при тех же лимитах.
Как правильноУбрать строку после разбирательства.

Отключают конвейер, чтобы «снизить нагрузку на приёмника»

наш опыт

Чем чреватоНагрузку это не снижает: писем и команд столько же, просто разговор длиннее. Зато соединение держится дольше, а значит занимает слот max-smtp-out и в сумме нагружает сильнее.
Как заметитьПосле отключения выросло число одновременных соединений при прежнем темпе.
Как правильноСнижать нагрузку темпом (max-msg-rate), а не отключением расширений.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
ignore-pipelining <boolean>
Значения
yes или no; true и false принимаются наравне с ними
Умолчание
false § 3.3.10.79
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение сливается по блокам <domain> от общего к частному: побеждает наиболее подходящий блок, а не последний по файлу. Подхватывается по pmta reload; на открытые соединения не влияет.
Как проверить на узле
Значение печатает команда настроек очереди; пользуется ли узел расширением, видно по тому, идут ли команды пачками:
pmta show settings problem.example.com/vmta1 | grep -i ignore-pipelining
grep -i 'PIPELINING' /var/log/pmta/pmta.log | tail -10
Расширение объявляется приёмником в ответе на EHLO; если его там нет, строка не сработает. Хаб команд разговора не собирает.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Разобраться с доставляемостью · Настроить темп под провайдера