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 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 15 logging_collector = on # Enable capturing of stderr and csvlog
8 16 log_filename = 'postgresql-%a.log' # log file name pattern,
9 17 log_truncate_on_rotation = on # If on, an existing log file with the
... ...