Сколько одновременных подключений SendMail допускает/открывает при ретрансляции новых (и отложенных) сообщений в общий нижестоящий MTA?

Сколько одновременных подключений SendMail допускает/открывает при ретрансляции новых (и отложенных) сообщений в общий нижестоящий MTA?

У меня есть несколько серверов Sendmail, которые ретранслируют множество (сотни тысяч) журналируемых писем в архивный репозиторий нижестоящего уровня через SMTP. Все эти письма имеют один и тот же домен получателя (назовем его "fooarchiveproviderdomain.com"). На моей стороне у меня установлен простой маршрут /etc/mail/mailertableдля архивного домена:

fooarchiveproviderdomain.com    esmtp:[1.1.1.1]:[2.2.2.2]

В последнее время я замечаю, что основной нисходящий MTA (1.1.1.1 в моем примере выше) перегружается и иногда не отправляет обратно приветственный баннер вовремя. С моей стороны Sendmail выдает ошибку в maillog, например:

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

Вы можете

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

Комментарий: изменениеКАКДругой вариант — сообщения отправляются с помощью «приложения для ведения журнала».

Связанный контент