Postgresql 8.3 - Windows 2003, RAID 10.

Всем доброго дня,
Есть вопрос, стоит сервак 16 Гб оперативы, под Postgresql 8.3 на Windows 2003 RAID 10 выделено 8512 МВ оперативки, при этом Postgresql забирает под себя как правило 2-3 ГБ и больше не берет при этом по максималки использует жесткий, есть ли способ оптимизации данного процесса, так, что б при работе больше использовалась оперативка и меньше шла нагрузка на RAID. Папку pg_xlog уже перенес на другой RAID и сделал жесткую ссылку.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Был уже такой вопрос. Дайте в

Был уже такой вопрос. Дайте в настройках больше памяти PostgreSQL будет использовать больше.
http://postgresql.ru.net/manual/runtime-config-resource.html#RUNTIME-CON...

не ужели вы считаете, что я

не ужели вы считаете, что я мало дал памяти, вот конфиг:

listen_addresses = '*'			# what IP address(es) to listen	
port = 5432				# (change requires restart)
max_connections = 250			# (change requires restart)
shared_buffers = 512MB			# min 128kB or max_connections*16kB
temp_buffers = 16MB			# min 800kB
work_mem = 512MB				# min 64kB
maintenance_work_mem = 128MB		# min 1MB
max_fsm_pages = 204800			# min max_fsm_relations*16, 6 bytes each
max_fsm_relations = 1000		# min 100, ~70 bytes each
shared_preload_libraries = '$libdir/plugins/plugin_debugger.dll'		# (change requires restart)
fsync = ON				# turns forced synchronization on or off
synchronous_commit = off		# immediate fsync at commit
wal_buffers = 1024kB			# min 32kB
wal_writer_delay = 1000ms		# 1-10000 milliseconds
checkpoint_segments = 30		# in logfile segments, min 1, 16MB each
checkpoint_timeout = 5min		# range 30s-1h
effective_cache_size = 8512MB
autovacuum = ON			# Enable autovacuum subprocess?  'on' 
autovacuum_naptime = 300		# time between autovacuum runs
deadlock_timeout = 2s
max_locks_per_transaction = 400		# min 10

effective_cache_size =

effective_cache_size = 8512MB
это можно сделать и поменьше - 4G хватит

shared_buffers = 512MB # min 128kB or max_connections*16kB
temp_buffers = 16MB # min 800kB
work_mem = 512MB
а вот здесь можно и побольше

Далее, я не знаю чем занимается ваша СУБД. Понятное дело, что если у вас идёт куча вставок или обновлений/удалений, то кэш будет малоэффективен. Если повторяющиеся SQL запросы SELECT, то кэш должен работать.

У меня 1С 8.2, бд 50 Гб, 30

У меня 1С 8.2, бд 50 Гб, 30 пользователей. Запросов много и постоянно.

work_mem подниму до 1,5 ГБ,

work_mem подниму до 1,5 ГБ, shared_buffers оставить на прежнем уровне?

Увеличте раза в

Увеличте раза в полтора.
Вообще точных рекомендаций по параметрам вам вряд ли кто даст - тут надо играться, пробовать и смотреть на результаты. Тюнинг параметров любой сложной СУБД - это немножко вуду.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023