Optimizing the PostgreSQL database
Beginning with version 2015 SR2, Polarion integrates the PostgreSQL database in all new installations. After a new Polarion installation containing this database, it is highly recommended that the administrator adjust some PostgreSQL settings to optimize performance. You should make the following changes in the postgresql.conf file. The database server needs to be restarted following this configuration.
Default Linux Path: /opt/polarion/data/postgres-data/
max_connections = 80 # should be < 10 * number of CPUs
shared_buffers = 2GB # should be 10% - 15% of total system RAM
work_mem = 10MB # should be 10MB - 100MB
maintenance_work_mem = 200MB
fsync = off
synchronous_commit = off
full_page_writes = off
wal_buffers = 256kB # should be more than size of common
# transaction
checkpoint_segments = 32
effective_cache_size = 4GB # should be approx 1/3 of total
# system RAM
max_locks_per_transaction = 100 # specific for Polarion
# Optimal planner performance setting
# For HDD, keep default setting. Otherwise, uncomment the
# applicable setting below:
# For SSD:
# random_page_cost = 1.5
# For SAN:
# random_page_cost = 2.0
On some Linux environments, the automatic configuration of PostgreSQL's shared_buffers parameter may calculate a value that exceeds the available shared memory configured by kernel parameter SHMMAX. In automated installations, the installer script assigns a default value of 24 MB for shared_buffers and posts the following message:
"NOTICE: Polarion attempted to change value of shared_buffers in postgresql.conf
to $v_shared_buffers_old but $v_shared_buffers_new was used instead because
of low value in /proc/sys/kernel/shmmax."
If you see this message during the installation, you are advised to review your SHMMAX configuration and adjust shared_buffers for PostgreSQL manually.