Уважаемые коллеги, ищу совета по настройке производительности PostgreSQL 8.1.(Debian Etch) В качестве СУБД он используется для RoR приложения. База данных 600М+ Таблиц 60 штук Самая "тяжелая" табличка весит 160М или вместе с индексами 255М, остальные заметно "легче". Хочется чтобы всё жило в оперативке и как можно меньше обращалось к внешнему накопителю. Порылся по всезнающему интернету, поигрался с опциями с postgresql.conf. Но существенного выигрыша на своей стендовой машине так и не получил. Что с умолчательными настройками, что со всеми попытками оптимизации тестовый запрос выполняется 2.7сек. Стенд слабенький конечно Cel 1.2GHz 512RAM. При тестировании LA до 1 редко дотягивает, но CPU usage ~100% Вот что на нём даёт ptop во время теста, с умолчательными настройками в postgresql.conf last pid: 4362; load avg: 0.99, 0.82, 0.47; up 0+06:57:38 18:12:57 4 processes: 1 running, 3 sleeping CPU states: 93.4% user, 0.0% nice, 6.6% system, 0.0% idle, 0.0% iowait Memory: 479M used, 17M free, 16M buffers, 115M cached Swap: 40K used, 1451M free PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND 4345 postgres 20 0 23M 14M run 6:22 17.23% 98.84% postgres: iscander test_db 127.0.0.1(53231) SE 4040 postgres 20 0 21M 7092K sleep 0:00 0.00% 0.00% postgres: iscander test_db 127.0.0.1(34713) id 4039 postgres 20 0 21M 6780K sleep 0:00 0.00% 0.00% postgres: iscander test_db 127.0.0.1(34711) id 4041 postgres 20 0 20M 5964K sleep 0:00 0.00% 0.00% postgres: iscander test_db 127.0.0.1(34715) id На "боевом" серевре железо ожидается естесвенно много мощнее. У нынешнего хостера, этот же запрос выполнеят 0.06 - 0.07сек. На что следует обратить внимание в железе "боевого сервера" на память, на число процессоров(имеет ли смыл для Postgre ?) их частоту. Что действительно имеет смысл крутить в настройках postgresql.conf чтоб всё по максимуму держать в ОЗУ. Кроме сосбсвенно Postgre на сервере будут жить nginx + 3-6 mongrel для Ruby on Rails. Буду благодарен за разумные рекомендации. Просто результаты у хостера шокирующие(!) с учетом того что у них shared Postgre для нескольких клиентов. А делиться своим опытом он не хотят.