[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DBMail



> порядка 10-20 активных соединений,

Какой пул - в смысле, PgPool или ...?

> пример плана выполнения запросов:

Такое впечатление, что тело письма лежит в одной таблице с заголовками. Если 
так, то кроме огорчений, ждать нечего.

> postgresql конечно 8.2 а не 8.3 :)

У меня 8.1, со следующим релизом дебиана перейду сразу на 8.3. 


> shared_buffers = 512MB
Такой размер буферов требует гигов 8 или 16 оперативки. Поставьте 64 метра 
буфер. 

> work_mem = 256MB
Аналогично. 256 метров КАЖДОМУ пользователю на его запрос, если одновременно 
20 пользователей, нужно 5 гиг ОЗУ. А у вас сколько?..

> я не думаю что тут проблема в структуре  / настройках бд - скорее в
> запросах :)

Как всегда, проблемы не ходят по одиночке. Конечно, операция ILIKE на огромной 
таблице будет нереально медленно выполняться, а вот если заголовки писем 
сделать отдельной табличкой, будет совсем другое дело. Но и настройки надо 
поправить, при текущих постгрес будет думать, что на машине не меньше 8 Гиг 
ОЗУ и постоянно попадать в своп (использует знания о количестве ОЗУ на 
машине, прикидывая возможности кэширования файлов ОСью и не пытаясь 
дублировать эту работу).

> > На таком железе терабайтную базу гонять можно.
>
> Как обычно - смотря какие запросы :)

Запросы - какие надо. Главное, правильно спроектировать структуру.

> Впрочем меня всегда интересовал вопрос как они вообще живут эти
> террабайтный базы в реальной жизни.

:-D

По своему опыту пока могу сказать только о базе в несколько десятков Гиг на 
целероне 2,4 ГГц и 256 ОЗУ при 10-20 одновременных пользователях. Два года 
назад поставили "временно" на первый попавшийся комп, так там и живет, ибо 
справляется. Притом, что аналитика выдается в реальном времени и довольно 
сложная (система мерчендайзинга на макрорегион). Как и что устроено, 
рассказываю вот здесь:

http://postgrestips.blogspot.com/2007/06/blog-post.html

В общем-то, все довольно просто, хотя пока я допер до того, как надо делать, 
раза 3 или 4 целиком архитектуру системы переписывал (каждая итерация 
занимала примерно полгода времени у 2-х разработчиков). Сейчас использую 
связку Pound+AOLServer+Tcl+PostgreSQL+Pltcl. Жизнь прекрасна :-)



Reply to: