Postgresql RAM optimization for containers and kubernetes
2
votes
1
answer
8191
views
I wondered how to optimize the RAM usage of my PostgreSQL database deployed in Kubernetes.
Particularly I'm interested in configuring the
shared_buffers
and effective_cache_size
values.
Typically the recommendation stated by various sources is to use:
- If you have a system with 1GB or more of RAM, a reasonable starting value for shared_buffers is 1/4 of the memory in your system. If you have less RAM you'll have to account more carefully for how much RAM the OS is taking up; closer to 15% is more typical there. There are some workloads where even larger settings for shared_buffers are effective, but given the way PostgreSQL also relies on the operating system cache, it's unlikely you'll find using more than 40% of RAM to work better than a smaller amount. (PostgreSQL Website )
- The value should be set to 15% to 25% of the machine’s total RAM (EDB website )
- No more than 50% of the available RAM (EDB PostgreSQL tuning )
Since containers use by design much less background RAM what would be a good recommendation for setting the shared_buffers value?
Right now the value is set to 25% (1GB of 4GB total container limit) and I notive that it get's filled up quite quickly.
Asked by Jacob
(123 rep)
Nov 25, 2021, 04:42 PM
Last activity: Nov 26, 2021, 10:39 AM
Last activity: Nov 26, 2021, 10:39 AM