Пишу сюда, т.к. в рунете не нашел статьи посвященные оптимизации PostgreSQL. Народ, подсоветуйте что можно и нужно сделать для увеличения скорости выполнения запросов? Индексы на нужных полях уже созданы, но скорость работы меня иногда не устраивает :(
>Пишу сюда, т.к. в рунете не нашел статьи посвященные оптимизации PostgreSQL. Народ,
>подсоветуйте что можно и нужно сделать для увеличения скорости выполнения запросов?
>Индексы на нужных полях уже созданы, но скорость работы меня иногда
>не устраивает :(1) Статистика для PostgreSQL потому как у него планировщик во много зависит от неё. Правда Это может дать и обратный результат т.к. тоэе кушает ресурсов.
2) EXPLAIN сделай для команд и посмотри дйствительно ли индексы работают так как надо и используються ли они в большинстве случаев.
3) fsync можешь попробовать отключить правда черевато тем что если вырубиться электричество то можешь запороть базу[ы].
4) Shared Memory и всё что с ней связано особенно если много запросов.
5) man systat (для системы). Смотри как работает диск в основном и память, потому что это основное что в данном случае используется если конечно не используется куча процедур с большим колличеством расчётов.P.S. Из своего опыта могу сказать что в большинстве случаев особенный прирост сделать не удасться при условии что все запросы нормальные (т.е. правильно расставлены индексы и они действительно используются). В данном случае если хочется чего-то существенного тогда лучше меня аппаратуру.
>1) Статистика для PostgreSQL потому как у него планировщик во много зависит
>от неё. Правда Это может дать и обратный результат т.к. тоэе
>кушает ресурсов.
Статистику включу - попробую, может лучше станет>2) EXPLAIN сделай для команд и посмотри дйствительно ли индексы работают так
>как надо и используються ли они в большинстве случаев.
EXPLAIN говорит, что индексы все юзаются.>3) fsync можешь попробовать отключить правда черевато тем что если вырубиться электричество
>то можешь запороть базу[ы].
Отключено. У меня UPS - APC 3000 - на 2 часа запросто хватает :)>4) Shared Memory и всё что с ней связано особенно если много
>запросов.
Собрал ядро с Shared Memory. Выставил буферов 3000. Этого достаточно?>5) man systat (для системы). Смотри как работает диск в основном и
>память, потому что это основное что в данном случае используется если
>конечно не используется куча процедур с большим колличеством расчётов.
Почитаю.>P.S. Из своего опыта могу сказать что в большинстве случаев особенный прирост
>сделать не удасться при условии что все запросы нормальные (т.е. правильно
>расставлены индексы и они действительно используются). В данном случае если хочется
>чего-то существенного тогда лучше меня аппаратуру.Большое Спасибо за советы!
>Пишу сюда, т.к. в рунете не нашел статьи посвященные оптимизации PostgreSQL. Народ,
>подсоветуйте что можно и нужно сделать для увеличения скорости выполнения запросов?
>Индексы на нужных полях уже созданы, но скорость работы меня иногда
>не устраивает :(
http://www.opennet.me/openforum/vsluhforumID11/12.html