Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Основные параметры postgresql.conf

...

  • max_connection - количество одновременных соединений к базе, в зависимости от количества касс этот параметр варьируется 110, 210, 1000

...

  • ;

...

  • shared_

...

  • buffers - оперативная память под кеширование данных сервера (вне коннектов пользователей) (=¼ X);

...

  • effective_cache_size - размер доступного места на диске под нужды сервера (=¾ X);

...

  • checkpoint_segments - количество файлов транзакций (16Mb каждый), после заполнения которых будет сделана точка восстановления БД (checkpoint);

...

  • checkpoint_completion_target - процент заполнения текущего чекпоинта до старта следующего

...

  • ;

...

  • default_statistic_target - количество записей, на основе которых высчитывается статистика для построения запросов (лучше оставить дефолтные 100)

...

  • work_mem - размер для сортировки в ОП. Указывается для 1 сортировки 1 пользовательского запроса, тогда

...

  • появится 10 одновременных запросов и потребуется 10* work_mem памяти (Image Addedувеличивать очень осторожно, иначе может не хватить памяти).

...

  • maintenance_work_mem - размер для технических операций (типа VACUUM, CREATE INDEX,

...

  • ALTER TABLE ADD FOREIGN KEY).
    • Такие операции выполняются в 1 поток синхронно.
    • Увеличение размера способствует ускорению операций DDL, VACUUM

...

    • .

Параметр shared_buffers

- В Windows не имеет смысла делать больше 512 Мб .

...

3 конфигурации сервера СУБД PostrgeSQL по умолчанию

Небольшой магазин. 4GB RAM (JVM - 2 GB, PG -

...

1.5GB, 100 connections)

  • max_connections = 110
  • max_prepared_transactions = 110
  • shared_buffers = 256MB
  • effective_cache_size = 768MB2000MB
  • work_mem = 1191kB10MB
  • maintenance_work_mem = 64MBcheckpoint_segments = 32
  • max_wal_size = 1GB # for version 10+ only
  • random_page_cost = 1.4 # for SSD discs only
  • checkpoint_completion_target = 0.9
  • wal_buffers = 7864kBautovacuum_max_workers = 3
  • autovacuum_naptime = 30s
  • autovacuum_vacuum_scale_factor = 0.0102
  • autovacuum_analyze_scale_factor = 0.0501
  • autovacuum_vacuum_cost_limit = 1000
  • logging_collector = on
  • log_directory = 'pg_log'checkpoints = on
  • log_filename = 'postgresql-%A.log'log_truncate_on_rotation = onmin_duration_statement = 1s
  • log_rotationtemp_age files= 1d0
  • log_rotationlock_size waits = 100MBon
  • log_min_duration_statement = 60000'ddl'
  • log_line_prefix = '%t %a %p %u@%d from %h [vxid:%v txid:%x] [%i]'
  • log_filename = 'postgresql-%Y-%m-%d.log'
  • log_rotation_age = 1d
  • log_rotation_size = 0


Большой магазин. 8GB RAM (JVM - 4 GB, PG -

...

3GB, 200 connections)

  • max_connections = 210
  • max_prepared_transactions = 210
  • shared_buffers = 512MB1024MB
  • effective_cache_size = 1536MB4000MB
  • work_mem = 1248kB10MB
  • maintenance_work_mem = 128MBcheckpoint_segments = 3264MB
  • max_wal_size = 1GB # for version 10+ only
  • random_page_cost = 1.4 # for SSD discs only
  • checkpoint_completion_target = 0.9wal_buffers = 16MB
  • autovacuum_max_workers = 3
  • autovacuum_naptime = 30s
  • autovacuum_vacuum_scale_factor = 0.0102
  • autovacuum_analyze_scale_factor = 0.0501
  • autovacuum_vacuum_cost_limit = 1000
  • logging_collector=on
  • log_directory = 'pg_log'checkpoints = on
  • log_filename = 'postgresql-%A.log'log_truncate_on_rotation = onmin_duration_statement = 1s
  • log_rotationtemp_age files= 1d0
  • log_rotationlock_size waits = 100MBon
  • log_min_duration_statement = 60000'ddl'
  • log_line_prefix = '%t %a %p %u@%d from %h [vxid:%v txid:%x] [%i]'
  • log_filename = 'postgresql-%Y-%m-%d.log'
  • log_rotation_age = 1d
  • log_rotation_size = 0'


Торговая сеть. 16GB RAM (JVM - 6 GB, PG -

...

6GB, 500 connections)

  • max_connections = 510
  • max_prepared_transactions = 510
  • shared_buffers = 512MB4000MB
  • effective_cache_size = 3840MB8000MB
  • work_mem = 10MB
  • maintenance_work_mem = 320MBcheckpoint_segments = 32= 64MB
  • max_wal_size = 1GB # for version 10+ only
  • random_page_cost = 1.4 # for SSD discs only
  • checkpoint_completion_target = 0.9
  • wal_buffers = 16MBautovacuum_max_workers = 3
  • autovacuum_naptime = 30s
  • autovacuum_vacuum_scale_factor = 0.0102
  • autovacuum_analyze_scale_factor = 0.0501
  • autovacuum_vacuum_cost_limit = 1000
  • logging_collector=on
  • log_directory = 'pg_log'checkpoints = on
  • log_filename = 'postgresql-%A.log'log_truncate_on_rotation = onmin_duration_statement = 1s
  • log_rotationtemp_age files= 1d0
  • log_rotationlock_size waits = 100MBon
  • log_min_duration_statement = 60000'ddl'
  • log_line_prefix = '%t %a %p %u@%d from %h [vxid:%v txid:%x] [%i]'
  • log_filename = 'postgresql-%Y-%m-%d.log'
  • log_rotation_age = 1d
  • log_rotation_size = 0

SetRetail10 (JBOSS-сервер)

Про настройки службы описано в статье