У меня есть несколько серверов Sendmail, которые ретранслируют много (сотни тысяч) записанных писем в архивный репозиторий ниже по потоку через SMTP. Все эти электронные письма имеют один и тот же домен получателя (назовем его «fooarchiveproviderdomain.com»). Со своей стороны, у меня есть простой маршрут в /etc/mail/mailertable
для архивного домена:
fooarchiveproviderdomain.com esmtp:[1.1.1.1]:[2.2.2.2]
В последнее время я заметил, что основной нисходящий MTA (1.1.1.1 в моем примере выше) будет перегружен и иногда не может своевременно отправлять обратно баннерное приветствие. С моей стороны, Sendmail выдаст ошибку в почтовом журнале, например:
timeout waiting for input from [1.1.1.1] during client greeting
По истечении тайм-аута я вижу, как система отправляет запрос по резервному маршруту (2.2.2.2 в моем примере выше) и сразу же принимает его.
Я достаточно уверен, что это связано с нагрузкой, поскольку эти тайм-ауты чаще возникают в часы пик. При этом я хочу понять, сколько соединений инициирует мой сервер при обработке новых писем и ранее поставленных в очередь сообщений, все предназначенных для одного домена.
я считать что sendmail повторяет сообщения из очереди в одном файле, верно? Итак, если у меня есть, скажем, 10000 отложенных сообщений электронной почты ... queuerunner не будет инициировать 10000 одновременных подключений ... он выдаст только одно?
Я также считать что новые входящие сообщения, поступающие в отдельных сеансах SMTP, обрабатываются отдельно, верно? Итак, если, скажем, почтовый ящик sendmail получает 15 отдельных новых сообщений, каждое из них будет обрабатываться отдельным дочерним демоном sendmail, который инициирует свои собственные отдельные SMTP-соединения с нисходящим MTA?
Есть ли способ ограничить одновременные нисходящие соединения, не влияя на количество входящих соединений, которые может обрабатывать мой сервер?
Ты можешь
1) выборочно пропускать попытки доставки "сразу" с помощью dsmtp
почтовик
(они производят доставку "одно сообщение на одну сессию smtp").
mailertable
запись:
fooarchiveproviderdomain.com dsmtp:[1.1.1.1]:[2.2.2.2]
2) Используйте FEATURE (queuegroup), чтобы выбрать настраиваемую группу очередей для доставки в fooarchiveproviderdomain.com
3) выберите из множества вариантов, как настроить доставку из групп очереди, например. через параметры группы очередей R=2
(два параллельных участника = два сеанса SMTP на запуск группы очереди) и I=12m
(обрабатывать сообщения в группе очереди каждые 12 минут)
Вы можете уменьшить задержки без попыток доставки «сразу», используя постоянные обработчики очереди.
https://www.safaribooksonline.com/library/view/sendmail-cookbook/0596004710/ch09s06.html
Комментарий: изменение КАК сообщения отправляются с помощью «приложения для ведения журнала».