> порядка 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. Жизнь прекрасна :-)

