infra/ansible/roles/postgresql/templates/30-postgresql.conf.j2
2025-08-02 11:14:56 -05:00

34 lines
No EOL
917 B
Django/Jinja

# Kernel parameters for PostgreSQL optimization
# For CM3588 with 16GB RAM and RAID0 SSDs
# Shared memory settings
kernel.shmmax = 17179869184 # 16GB
kernel.shmall = 4194304 # 16GB / 4096 (page size)
kernel.shmmni = 4096
# Semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
# Virtual memory
vm.swappiness = 10
vm.dirty_ratio = 15
vm.dirty_background_ratio = 5
vm.overcommit_memory = 2
vm.overcommit_ratio = 95
# Huge pages (optional, can be enabled if needed)
# vm.nr_hugepages = 4096 # 8GB of huge pages
# Network optimization for 2.5Gbit connection
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 4194304
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 65536 4194304
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 6
# File system
fs.file-max = 65536