Привет!
Wed Aug 4 16:22, Andrew L. Davydov <davydov@okbmei.msk.su> wrote:
> > Надо идти в сторону оптимизации задачь, а не по закону Гейтса.
> > Для почтовых задачь - это раскидывание писем по отдельным файлам, если
> > этот GatePro хранит весь mbox в одном файле, то это просто убийство...
> То-что, файл один - то работает быстро. Но если он пострадает - то
> пострадают все.
>
Вопрос как раз в скорости, и в сопутствующих этому блокировках.
Как Вы наверно уже знаете, сканирование unix-like mbox'ов идет построчно
по всему телу до конца файла (как минимум в поисках From_). Несколько
писем по н-цать мегабайт хорошо задумывают систему, помножте еще это на
н-цать тысяч мейлбоксов...
Этот процесс можно конечно ускорить, если мейлбокс предварительно
захешировать/проиндексировать. Но ведь и это должен кто-то сделать.
Кроме того, научить все приблуды работать по хешу нереально, нету этого
в RFC.
Вот и все, ступор. Ваши предложения? (щас мне расскажут про квоты..)
Хотя нет, есть решение в стиле Гейтса -- каждому мейлбоксу по скази
диску ...с доступом по SQL ;-)
А вот я бы разнес письма просто по отдельным файлам, где mbox - это
каталог с ними, scandir будет тормозить только когда там тысячи писем.
Кстати напоминаю - каталоги имеют произвольный доступ, и можно обойтись
без блокировок.
=============================================================================
"inet-admins" Internet access mailing list. Maintained by East Connection ISP.
Mail "unsubscribe inet-admins" to Majordomo@info.east.ru if you want to quit.
Archive is accessible on http://info.east.ru/rus/inetadm.html