Регистрация
Регистрация Поиск Сообщество  
CGM > Покер > Программы и железо для игроков > Покер софт
Опции темы

Производительность PostgreSQL 8.2

Важные объявления
Старый 01.03.2007, 22:33     TS Старый   #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-4% оперативки.
Не забывайе после изменения перегрузить постгрес.
После этого попробовал страндартную процедуру дефрагментации индексов ( на пт форуме описана). Запрос стал выполняться еще на 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
В строке "defrag e:" нужно поставить диск, на котором лежат базы.
В строках "net stop PostgreSQL" и "net start PostgreSQL" нужно изменить PostgreSQL на то название сервиса, которое у вас.
vyvojer вне форума      
Старый 03.03.2007, 10:54   #2 (permalink)
Старожил
 
Аватар для Mirel
 
Регистрация: 06.04.2005
Адрес: Спб
Сообщений: 880
Отправить сообщение для Mirel с помощью ICQ
Сенкс за инфу.

А на postgres у тебя пароль не стоит?
А то что-то я с утра плохо понимаю как psql пароль скормить
Руками вводить как-то неохота.. или придётся?

__________________
There is no money in HU, everyone is solid
Mirel вне форума      
Старый 03.03.2007, 13:33     TS Старый   #3 (permalink)
Увлечённый
 
Регистрация: 05.12.2005
Адрес: Betflop
Сообщений: 533
Есть разные способы. Я использую файл pgpass.conf
Он должен лежать в папке
C:\Documents and Settings\Имя пользователя\Application Data\postgresql
Имя пользователя - имя под которым ты входишь в систему, а не postgres.
Если этого файла нет - создай
Формат файла hostnameort:database:usernameassword
У меня:
Код:
localhost:5432:*:postgres:postgres
vyvojer вне форума      
Старый 24.04.2008, 03:36   #4 (permalink)
Аксакал
 
Аватар для Nexttt
 
Регистрация: 24.09.2007
Адрес: Москва
Сообщений: 2,241
Цитата:
Сообщение от vyvojer писал чт, 01 марта 2007 22:33
После этого попробовал страндартную процедуру дефрагментации индексов ( на пт форуме описана). Запрос стал выполняться еще на 2 секунды быстрее.
Вот скрипт:
[code]
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;"
А куда нужно вставлять этот скрипт... Как исполнить этот код?
Nexttt вне форума      
Старый 24.04.2008, 03:56     TS Старый   #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;"
vyvojer вне форума      
Старый 24.04.2008, 04:30   #6 (permalink)
Аксакал
 
Аватар для Nexttt
 
Регистрация: 24.09.2007
Адрес: Москва
Сообщений: 2,241
Цитата:
Сообщение от vyvojer писал чт, 01 марта 2007 22:33
В строках "net stop PostgreSQL" и "net start PostgreSQL" нужно изменить PostgreSQL на то название сервиса, которое у вас.
А как узнать мое название сервиса?
Nexttt вне форума      
Старый 24.04.2008, 14:52     TS Старый   #7 (permalink)
Увлечённый
 
Регистрация: 05.12.2005
Адрес: Betflop
Сообщений: 533
Run services.msc
Или control panel -> Adminstative Tools -> Services
Ищи нужный сервис. По умолчанию что-то типа "PostgreSQL 8.2"(8.3)
vyvojer вне форума      
Старый 25.04.2008, 00:11   #8 (permalink)
Аксакал
 
Аватар для Nexttt
 
Регистрация: 24.09.2007
Адрес: Москва
Сообщений: 2,241
Цитата:
Сообщение от vyvojer писал чт, 24 апреля 2008 14:52
Run services.msc
Или control panel -> Adminstative Tools -> Services
Ищи нужный сервис. По умолчанию что-то типа "PostgreSQL 8.2"(8.3)
У меня эта служба называется pgsql-8.2
Nexttt вне форума      
Старый 17.05.2008, 07:47   #9 (permalink)
Увлечённый
 
Аватар для kukolnik
 
Регистрация: 16.02.2007
Адрес: Казань
Сообщений: 403
Nvyvojer , посмотри плз скриншот, что не так при дефраге ?
Изображения
  
kukolnik вне форума      
Старый 17.05.2008, 17:53     TS Старый   #10 (permalink)
Увлечённый
 
Регистрация: 05.12.2005
Адрес: Betflop
Сообщений: 533
1) Или добавь пути к psql к PATH или пиши полный путь psql в скрипте
(что-нибудь вроде C:\Program Files\PostgreSQL\8.2\bin\psql)
2) Если название службы больше одного слова, то надо ее взять в кавычки, скорее всего.
net start\stop "Postgres ... "
vyvojer вне форума      

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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



Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.

Быстрый переход
Правила форумов CGM Контакты Справка Обратная связь CGM.ru Архив Вверх Главная
 
Использование материалов сайта разрешено только при наличии активной ссылки на источник.
Все права на картинки и тексты принадлежат Информационному агентству CGM и их ПАРТНЕРАМ. Политика конфидециальности
CGM.ru на Youtube CGM.ru на Google+ CGM.ru в Twitter CGM.ru на Facebook CGM.ru в vKontakte CGM.ru в Instagram

В сотрудничестве с Pokeroff.ru
Текущее время: 19:14. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot