| |||||
| |||||
|
![]() |
|
![]() ![]() |
#1 (permalink) |
Увлечённый
Регистрация: 05.12.2005
Адрес: Betflop
Сообщений: 533
|
Установил на новый винт новую версию 8.2
Покопался немного в настройках. У меня 768М памяти. В базе больше 250K рук При настройках по умолчанию страничка GeneralInfo генерилась 24 секунды. На обработку запросов большое влияние оказывает параметр work_mem (раньше назывался sort_mem). Находится в разделе RESOURCE USAGE (except WAL) файла postgres.conf Значение по умолчанию 1MB. Увеличил до 32MB. GeneralIfo стала генериться за 12 секунд. Код:
#--------------------------------------------------------------------------- # RESOURCE USAGE (except WAL) #--------------------------------------------------------------------------- # - Memory - shared_buffers = 32MB # min 128kB or max_connections*16kB # (change requires restart) #temp_buffers = 8MB # min 800kB #max_prepared_transactions = 5 # can be 0 or more # (change requires restart) # Note: increasing max_prepared_transactions costs ~600 bytes of shared memory # per transaction slot, plus lock space (see max_locks_per_transaction). #work_mem = 1MB # min 64kB work_mem = 32MB #maintenance_work_mem = 16MB # min 1MB #max_stack_depth = 2MB # min 100kB Не забывайе после изменения перегрузить постгрес. После этого попробовал страндартную процедуру дефрагментации индексов ( на пт форуме описана). Запрос стал выполняться еще на 2 секунды быстрее. Вот скрипт: Код:
psql -d "PTPGSQL1" -U postgres -c "cluster session_idx_02 on session;" psql -d "PTPGSQL1" -U postgres -c "cluster player_winnings_idx_02 on player_winnings;" psql -d "PTPGSQL1" -U postgres -c "cluster player_idx_02 on players;" psql -d "PTPGSQL1" -U postgres -c "cluster game_idx_01 on game;" psql -d "PTPGSQL1" -U postgres -c "cluster game_players_idx_05 on game_players;" psql -d "PTPGSQL1" -U postgres -c "cluster session_idx_02 on session;" psql -d "PTPGSQL1" -U postgres -c "cluster player_winnings_idx_02 on player_winnings;" psql -d "PTPGSQL1" -U postgres -c "cluster player_idx_02 on players;" psql -d "PTPGSQL1" -U postgres -c "cluster game_idx_01 on game;" psql -d "PTPGSQL1" -U postgres -c "cluster game_players_idx_05 on game_players;" net stop PostgreSQL defrag e: net start PostgreSQL vacuumdb -U postgres -a -f -z В строках "net stop PostgreSQL" и "net start PostgreSQL" нужно изменить PostgreSQL на то название сервиса, которое у вас. |
![]() |
![]() ![]() |
![]() ![]() |
#3 (permalink) |
Увлечённый
Регистрация: 05.12.2005
Адрес: Betflop
Сообщений: 533
|
Есть разные способы. Я использую файл pgpass.conf
Он должен лежать в папке C:\Documents and Settings\Имя пользователя\Application Data\postgresql Имя пользователя - имя под которым ты входишь в систему, а не postgres. Если этого файла нет - создай Формат файла hostname ![]() ![]() У меня: Код:
localhost:5432:*:postgres:postgres |
![]() |
![]() ![]() |
![]() |
#4 (permalink) | |
Аксакал
Регистрация: 24.09.2007
Адрес: Москва
Сообщений: 2,241
|
Цитата:
|
|
![]() |
![]() ![]() |
![]() ![]() |
#5 (permalink) |
Увлечённый
Регистрация: 05.12.2005
Адрес: Betflop
Сообщений: 533
|
Создай обычный текстовый файл с этим строчками и поменяй у него расширение на bat или cmd и запускай из коммандной строки или кликнув.
Вот для ХМ, кстати, строчки: Код:
psql -d "STEP3" -U postgres -c "cluster compiledplayerresults_idx1 on compiledplayerresults;" psql -d "STEP3" -U postgres -c "cluster compiledplayerresultspositionaction_idx1 on compiledplayerresultspositionaction;" psql -d "STEP3" -U postgres -c "cluster compiledresults_idx1 on compiledresults;" psql -d "STEP3" -U postgres -c "cluster players_idx1 on players;" |
![]() |
![]() ![]() |
![]() |
#6 (permalink) | |
Аксакал
Регистрация: 24.09.2007
Адрес: Москва
Сообщений: 2,241
|
Цитата:
|
|
![]() |
![]() ![]() |
![]() |
#8 (permalink) | |
Аксакал
Регистрация: 24.09.2007
Адрес: Москва
Сообщений: 2,241
|
Цитата:
|
|
![]() |
![]() ![]() |
![]() ![]() |
#10 (permalink) |
Увлечённый
Регистрация: 05.12.2005
Адрес: Betflop
Сообщений: 533
|
1) Или добавь пути к psql к PATH или пиши полный путь psql в скрипте
(что-нибудь вроде C:\Program Files\PostgreSQL\8.2\bin\psql) 2) Если название службы больше одного слова, то надо ее взять в кавычки, скорее всего. net start\stop "Postgres ... " |
![]() |
![]() ![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SSD vs PostgreSQL | UBERPWNER | Железо | 149 | 10.08.2012 10:25 |
Производительность PT3 HUD | demoniak777 | Покер софт | 6 | 25.01.2010 11:33 |
PostgreSQL | szhek | Покер софт | 6 | 23.07.2008 17:07 |
PostgreSQL | CorwinXX | Программное обеспечение | 1 | 05.03.2008 01:49 |
PostgreSQL | CorwinXX | Теории, стратегии, основы покера | 5 | 19.08.2006 20:35 |
Опции темы | |
|
|