The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"OpenNews: В BSD системах найдена ошибка, существующая уже 25 лет"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "(offtopic) postfix" +/
Сообщение от Dvorkinemail (??), 16-Май-08, 14:13 
оговорюсь, это мое ИМХО.
представьте: у вас высоконагруженный сервер почты.
у вас тысячи подключений из внешнего мира от чужих серверов по smtp
и постфикс ставит себя в привилегированое положение: он открыл и держит подключение, даже если ему передавать нечего.
когда таких постфиксов мало - ничего, фиг с инми. а когда у вас выбирается ограничение в 1000 сокетов и вы обнаруживаете, что половина - абсолютно пустые вас это начинает раздражать. вы вводите ограничение на время активности подкючения: если по каналу не передаются данные в течении например 30 секунд - сокет принудительно закрывается.
все отлично. число линков резко падает. у вас держится например 50 постоянно открытых сокетов.
и вдруг раздается тревожный звоночек от руководства: "мне не приходит письмо!!!"
вы копаетесь в логах и обнаруживаете, что подключение от передающего сервера было, письма приходили а вот этого письма-то как раз и нет!
позже выясняется, что письмо было размером 2 мб, а другие пришедшие от него же размером в 1мб.
вы видите подключение в заданный момент времени, а данных НЕТ. за те 30 секунд, которые вы дали на активность данные от того постфикса передаваться не начали - соединени закрылось с вашей стороны.
постфиксу письмо упало в очередь, он открыл соединение, начал обрабатывать письмо фильрами, но из-за высокой нагрузки оно не начало передаваться за 30 секунд! соединение закрыто, внутренняя ошибка сервера. он ничего не говорит отправляющему, пытается пердать еще через некоторое время. ситуация повторяется. отправитель не в курсе. получатель ждет. все бесятся, шишки - на админа сервера qmail, у которого с других серверо приходят письма за сукунду.
тамошний отправитель отправляет письмо на соседний постфикс. два высоконагруженых постфикса скрипят-скрипят но содинение между ними наличествует и не закрывается и письмо долетает. все рады. админ постфикса - молодец, не смотря на то, что его сервер еле дышит и открыл во мнешний мир и из внешнего мира максимальное количество сокетов! админ qmail ищет способ без поднятия таймаута получить таки письмо от этого скрипучего трактора.
поднять таймаут - значит обречь себя на множество бессмысленно занятых системных ресурсов.  дилема!

разрулил. поднял таймаут или еще что-то сделал. вычислил. все довольны и все получили свою почту.

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

господа, если не знаете - ставьте exchange прикрыв его sendmail'ом. пожалейте людей

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
OpenNews: В BSD системах найдена ошибка, существующая уже 25 лет, opennews, 11-Май-08, 11:56  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру