POSTFIX

Подробное руководство

Меню сайта
Опрос

Модные зубные протезы
Новая 3D игра
Софт для латания дыр
Почтовый сервер
Программа для рисования
Гель от растяжений


Популярные статьи
Базы данных (MySQL, PostgreSQL, LDAP)
Postfix воспринимает базу данных так же, как индексированную карту. Результатом запроса базы данных является Match (вместе со значением, возвращаемым запросом) или No match. Основное отличие между картой–базой данных и индексированной картой состоит в том, что при изменении в базе данных вам не нужно перезапускать демон. Postfix не считает, что единственным, кто может изменять базу данных, является администратор почтовой системы.

Недостаток такого подхода в том, что база данных может не справиться с поступающими запросами, т. к. Postfix должен выполнить как минимум три запроса для каждого поиска в карте (см. пост ниже «Как Postfix обращается к картам»). При высокой нагрузке компьютер базы данных может замедлиться или зависнуть, и ваш почтовый сервер окажется уязвимым для атак типа «отказ в обслуживании» и «саморазрушение» (self induced meltdown). Этот факт не должен препятствовать использованию баз данных, но не забывайте о возможном риске.

Поиск в базе данных может стать проблемой для систем с высокой нагрузкой, но это не единственное, на что следует обратить внимание, – еще одной проблемой может стать задержка. Запросам к базе данных соответствует большая задержка, чем запросам к индексированным картам, т. к. Postfix должен подключиться к компьютеру базы данных, отправить запрос и дождаться результата. При работе с индексированной картой Postfix должен лишь обратиться к данным, которые уже загружены в память.

Если база данных становится вашим «узким местом», а ваша карта не слишком велика, то можно использовать промежуточную карту между базой данных и сервером Postfix. То есть вы можете с помощью полного запроса к базе данных создать индексированную карту, а затем запускать Postfix с полученной картой. Необходимо помнить об обновлении такой карты по мере необходимости, при этом можно использовать демон proxymap для значительного уменьшения количества одно временных соединений.

Определение количества одновременных соединений с базой данных. Демоны Postfix (smtpd, smtp и т. д.) работают с ограничением на количество одновременных процессов (задается параметром default_process_limit), равным 100. При пиковой загрузке получаем 100 действующих одновременно демонов smtpd, каждый из которых обращается к базе данных для одного поиска access(5) (например, если мы используем карту, чтобы проверить, входит ли клиент в наш личный черный список и надо ли запретить ему отправлять нам почту).

Согласно следующему разделу один поиск требует от одного запроса (в случае точного совпадения) и до числа, зависящего от количества «.» (точек) в доменной части (если совпадение не найдено) ключа поиска. Поэтому в среднем можно принять количество запросов равным 3, тогда количество одновременных запросов к базе данных будет равно как минимум default_process_limit * 3 (т. е. 300 запросов с настройками по умолчанию), где default_process_limit – количество одновременных соединений. И это только запросы и соединения для демонов smtpd; другие демоны, такие как local и qmgr, могут заниматься другой работой, увеличивая количество открытых соединений и одновременных запросов.



Другие новости по теме:

  • Карты
  • Кэширование
  • Как Postfix обращается к картам
  • Отмена разрешения имен
  • Демоны Postfix
  • Категория: Анатомия Postfix | Добавил: admin (28 июля 2009)
    Просмотров: 2549 | Рейтинг:
    Метки
    Очень интересное
    Интересное
    » Друзья сайта