Commit 7024938d7e0ba2c66653b87d9866a3a8710b2a4a

Authored by Antonio Terceiro
1 parent cb376e37
Exists in performance

PostgreSQL: put system RAM to good use

cookbooks/postgresql/templates/centos/postgresql.conf.erb
1 listen_addresses = 'localhost,<%= node['peers']['database'] %>' 1 listen_addresses = 'localhost,<%= node['peers']['database'] %>'
2 2
3 -# TODO optimize these settings 3 +<% ram = `awk '{ if ($1 == "MemTotal:") {print($2) } }' /proc/meminfo`.to_i %>
4 4
5 -max_connections = 100 # (change requires restart)  
6 -shared_buffers = 32MB # min 128kB 5 +#######################################################################
  6 +# performance optimization settings
  7 +#######################################################################
  8 +shared_buffers = <%= (0.1 * ram).to_i %>kB # 10% of RAM for shared buffers
  9 +effective_cache_size = <%= (0.8 * ram).to_i %>kB # 80% of RAM for cache
  10 +
  11 +#######################################################################
  12 +# other settings
  13 +#######################################################################
  14 +max_connections = 500 # (change requires restart)
7 logging_collector = on # Enable capturing of stderr and csvlog 15 logging_collector = on # Enable capturing of stderr and csvlog
8 log_filename = 'postgresql-%a.log' # log file name pattern, 16 log_filename = 'postgresql-%a.log' # log file name pattern,
9 log_truncate_on_rotation = on # If on, an existing log file with the 17 log_truncate_on_rotation = on # If on, an existing log file with the