Ну в первую очередь стоит посмотреть на то как отправляет php, через tcp сокет 
или форкает 'sendmail'. Поиграться с этими параметрами, если планируете все 
оставить на локалхосте. По факту есть смысл выделить отдельный хост с еще одним 
fallback, как верно написано и поставить mailman дабы он до кучи еще выбрасывал 
мертвые адреса и более динамично генерил нагрузку. Ну и наконец заменить exim 
на постфикс, у последнего значительно лучше приспособлен эмитер под большое 
количество писем.


Fri, 20 May 2011 15:16:58 +0400 письмо от "Vasyl S. Kostroma" <[email protected]>:

Доброго солнечного дня, коллеги. 
Когда-то уже писал, но ответа не получил, так что позволю себе перефразировать 
и по возможности уточнить суть вопроса. 
  
Итак, имеется “небольшой” портал, подписчикам которого ежедневно отправляем 
рассылку с уведомлениями, обновлениями, новостями и т.д. Приблизительно 
580 тысяч подписчиков, каждый день на несколько тысяч больше (это около 40Гб 
писем на отправку ежесуточно). 
  
Отправка проста. php скрипт генерирует письма и обычным mail() отправляет. 
Установлен само собой exim4, иначе сюда не писал бы. Настройки особо большой 
сути не играют, главное спул для меня. Пробовал спул на RAID1 на двух винтах.  
Скорость генерации писем была около 25 тысяч в час, что исключительно 
неприемлемо 
(пока сгенерируются уже надо будет новую делать рассылку). Пробовал спул на SSD 
и скорость получилась в районе 77.5 тысяч писем в час. Теплее, но тоже не то, 
так как 
7.5 часов на генерацию слишком долго. В итоге сделал спул в рамдиске, скорость 
составила порядка 250-300 тысяч писем в час, что максимум, которого я смог 
добиться. 
И это приемлемо. Но вот проблема – если какой-то из “мощных” почтовиков 
отказывается 
принимать письма, то памяти не хватает, спул забивается, своп забивается, ещё 
более 
сильные тормоза и почтовый коллапс. 
  
Отсюда и ситуация.  
Хотел бы узнать ваши идеи, как лучше всего построить  почтовик, что бы и 
генерация шла  
быстро и в случае чего спул не забивался. Пока у меня идея только одна – это 
fallback. 
Но как его сделать на одной машине я не решил. Может у вас идеи будут лучше? 
_______________________________________________
Exim-users mailing list
[email protected]
http://mailground.net/mailman/listinfo/exim-users

_______________________________________________
Exim-users mailing list
[email protected]
http://mailground.net/mailman/listinfo/exim-users

Ответить