[sisyphus] Корпоративный почтовый сервер из коробки

Dmitry Lebkov =?iso-8859-1?q?dima_=CE=C1_sakhalin=2Eru?=
Пт Фев 21 09:24:05 MSK 2003


On Fri, 21 Feb 2003 06:55:11 +0300
"Albert R. Valiev" <darkstar на altlinux.ru> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> В сообщении от 21 Февраль 2003 02:43 Dmitry Lebkov написал:
>  Хотелось бы узнать подробности о конфигурации твоего почтового
>  сервера:
> >
> >  - железо (CPU/RAM/(SCSI or IDE) HDD etc.)
> 
> Amd Durun 800 Mhz
> ram: 128
> hdd-ide: 10Gb
> 
> это небольшой сервачок и на нем нет ничего кроме биллинга и почты 
> :)
> 
> 
> > сколько mailbox'ов "держит" сервер
> 25. 
> 
> > MySQL живет на этом же хосте или нет
> да.
> > среднее кол-во сообщений в минуту
> от 0 до 300 :) зависит от времени суток :) когда начинается поток 
> 
> 
> >  - какие проверки производятся в MySQL при обработке сообщения
> 
> здесь все просто - при приходе сообщения (неважно, на отправку 
> или в mailbox) сначала идет проверка - какие домены обслуживает 
> данных хост. после чего если была аутенфикация, (что тоже 
> обращение в MySQL) то без проблем отправляем иначе если письмо в 
> наши домены, то кладем в mailbox. т.е. 2-4 обращения к базе за 
> одно письмо.
> 
> >  - LoadAverage сервера
> практически не загружен. 
> 
> >  - результаты тестов с помощью postal (если это возможно).
> невохможно
> > Если все, вышеперечисленное, не является секретом. ;)
> :)))
> 
> понимаю, данная нагрузка очень смешна, однако я использовал MySQL 
> и в гораздо более жестоких условиях. и падал он у меня только 
> один раз - когда была проблема с 3.23.51 и tcp/ip соединениями.
> 
> к тому же я уже сказал - ничего не мешает релизовать обе схемы. 
> :) 

Спасибо за инфо. ;) Наверное, мы просто по разному понимаем
словосочетание "корпоративный почтовый сервер" ... ;)

 Теперь расскажу свою страшную сказку ... %)

Все тестировалось на одном и том же железе. 50 почтовых ящиков
в формате mailbox для первого пункта и maildrop - для всего остального.
Серверу отдавались сообщения размером от 1 до 8 кб. Все FS - ext2.

Intel PIII-866, 256Mb RAM, 18Gb Ultra16 SCSI HDD.


1. Sendmail+procmail(mailbox) = 30 msg/min - после этого предела
почта валилась в spool. "Слабое звено" :) -- procmail и mailbox-формат.
Пока ящики получателей были пустые - скорость была раза в два больше.
Но по мере заполнения скорость снизилась до вышеуказанного значения.

2. Sendmail(with MySQL)+maildrop(mysql, maildir) ~= 200-250 msg/min.
Два запроса в MySQL: 1) maildrop ищет пользователя, 2) sendmail смотрит
в аналог access.db. Загрузка системы поднималась до 80-85%. Основной
пожиратель ресурсов - MySQL. При увеличении кол-ва проверок (до 6-7)
скорость падала до 60-90 msg/min. LoadAverage оставалась достаточно
высокой -- около 80%. "Слабое звено" -- связка sendmail+mysql.

3. Sendmail(with LDAP)+maildrop(LDAP, maildir) ~= 600-700 msg/min.
на двух запросах и около 500 на всех нужных мне проверках (6 или 7
запросов). LA ~= 40-50%. "Слабое звено" -- maildrop и disk I/O.

При тестировании всего этого дела никаких особых настроек не делалось.
Минимальная правка конфигов -- только чтоб заработало. Наверное, при
минимальном тюнинге можно было бы и превысить достигнутые поаказатели,
но для наших нужд джостигнутого хватило с запасом.

Сейчас такой сервер обслуживает около 2000 ящиков в двух виртуальных
доменах, там же живет DrWeb-даемон. Этот же сервер - secondary MX для
нескольких клиентских доменов. Средняя загрузка ~ 10-15 msg/min.
Работает уже полтора года и проработает еще как минимум столько же %)

Вот такие пироги с котятами ... %)

-- 
WBR, Dmitry Lebkov



Подробная информация о списке рассылки Sisyphus