Exim устанавливают для многочисленных очередей исходящей почты

Я сделал, чтобы довольно стандартный Exim установил для входящей и исходящей почты. Недавно наша группа разработчиков соединила приложение PHP, которое позволяет нам отсылать массовые рассылки нашим клиентам. Приложение PHP пользуется стандартными библиотеками PEAR для инициирования соединения SMTP с localhost (приложение, и почтовый сервер находятся на том же поле). Идея здесь состоит в том, что приложение пошлет примерно 10'000 электронных писем в очень короткий срок (приблизительно 60 секунд), который Exim будет затем содержать в его очереди для доставки.

Проблема входит, где приблизительно после 50 электронных писем, Exim прекращает принимать почту и loggs следующая ошибка в файле exim_main.log:

SMTP command timeout on connection from localhost [127.0.0.1]

Могло случиться так, что это вызвано тем, что Exim сразу начинает поставлять почту и затем прекращает принимать новые входящие соединения? Я думал, что увеличение пределов SMTP может быть проблемой здесь, но даже после устанавливания новых значений в exim.conf файле к следующему, я все еще получаю ту же проблему:

queue_run_max = 5000
smtp_accept_max = 5000
smtp_accept_queue = 5000

Это вызывает два вопроса:

  1. Как я разрешаю это?
  2. Каков лучший способ для конфигурирования Exim для принятия огромной суммы почты в очередь в очень короткий срок, но затем постепенно доставка это, после того как это - все в очереди? Я видел некоторых людей выполненные отдельные демоны Exim для входящей и исходящей почты; действительно ли это - хорошее решение?
2
задан 26.04.2011, 01:41

1 ответ

По умолчанию exim пытается поставить электронное письмо сразу, он прибывает, чтобы стараться избегать организации очередей это.

Если это не может сразу поставить его, это вводит каталог шпульки.

По умолчанию все эти файлы сообщений сохранены в единственном каталоге, названном входом в каталоге шпульки генерала Exim. Некоторые операционные системы не работают очень хорошо, если количество файлов в каталоге становится большим; для улучшения производительности в таких случаях split_spool_directory опция может использоваться. Это заставляет Exim разделять входные файлы на 62 подкаталога, имена которых являются одними буквами или цифрами. Когда это сделано, очередь обрабатывается один подкаталог за один раз вместо внезапно, который может улучшить общую производительность, даже когда существует недостаточно файлов в каждом каталоге для влияния на производительность файловой системы.

Существуют опции, которые управляют, попробует ли Exim свою срочную доставку или нет:

  • queue_only_load - поступление очереди, если загрузка высоко
  • queue_only_load_latch - не переоценивайте загрузку для каждого сообщения
  • queue_run_max - максимальные одновременные бегуны очереди

и, самое главное:

  • queue_only - никакая срочная доставка вообще

Все эти настройки детализированы в Руководстве Спецификации Exim

4
ответ дан 08.12.2019, 06:28

Теги

Похожие вопросы