dummy-smtp-latency

Global

Какую задержку сети изображает поддельный приёмник
в конфигурации это строкаdummy-smtp-latency 0внутри блока Global
Сделать подделку похожей на правду

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

Ноль делает прогон нереалистичным. Настоящий приёмник находится в сети: между командой и ответом проходят десятки миллисекунд, а на межконтинентальном маршруте и сотни. За это время соединение занято — а именно занятость соединений упирается в max-smtp-out и определяет реальную пропускную способность.

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

Главная ловушка — прогон с умолчанием даёт красивую и бесполезную цифру. Она меряет скорость работы самого узла, а не то, сколько он вытянет в сети. Разница между нулём и сотней миллисекунд на длинном разговоре кратная, и завышенный потолок потом закладывают в планирование.
Что делает Хаб. Не пишет: механизм на узлах не поднимается. Если появится, задержку надо брать из телеметрии парка — Хаб знает настоящее время ответа по каждому провайдеру, и подставить сюда его правдоподобнее любой круглой цифры.
Рекомендуемые значения

Сто миллисекунд — разумная отправная точка. Столько занимает обмен с приёмником в той же части света.

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

Ноль оставляют только для одной задачи — измерить сам узел в отрыве от сети. Планировать по такой цифре нельзя.

Ориентиры в сто и двести-триста миллисекунд — наши. Из руководства здесь умолчание ноль и единица измерения: миллисекунды.
Пример в конфигурации
# приёмник в той же части света отвечает примерно так
dummy-smtp-port 2525
dummy-smtp-latency 100
С нулём тот же прогон покажет потолок в разы выше — за счёт того, что соединение освобождается мгновенно, чего в сети не бывает.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Гоняют прогон с нулевой задержкой

наш опыт

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

Берут одну задержку на все прогоны

наш опыт

Чем чреватоПровайдеры отвечают по-разному, и потолок, снятый под сотню миллисекунд, не описывает поток к дальнему приёмнику.
Как заметитьРасчёты сходятся для одних провайдеров и не сходятся для других.
Как правильноПрогонять отдельно под характерные значения задержки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
dummy-smtp-latency <integer>
Значения
число миллисекунд; ноль означает мгновенный ответ
Умолчание
0 § 3.3.1.57.7
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
Global
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Строка уровня узла: пишется в корне файла, не внутри блока. Наследования у неё нет. Подхватывается по pmta reload; на уже идущие разговоры не влияет.
Как проверить на узле
Значение задаётся в конфигурации; результат виден по времени разговора в журнале прогона:
grep -n dummy-smtp-latency /etc/pmta/config
pmta show status | head -20
Заметно более высокая пропускная способность, чем даёт настоящая отправка, — обычный признак того, что задержка осталась нулевой. Хаб этот механизм не задействует.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Планирование мощности