From 89e046690ce183a06afa471264062939ee7e915a Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Tue, 4 Feb 2025 14:52:14 -0500 Subject: [PATCH 1/4] chore: increase files per process and ulimit --- ansible/files/postgresql_config/postgresql.conf.j2 | 2 +- ansible/tasks/setup-postgres.yml | 8 ++++++++ ansible/vars.yml | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ansible/files/postgresql_config/postgresql.conf.j2 b/ansible/files/postgresql_config/postgresql.conf.j2 index 1604d94f9..e9279824d 100644 --- a/ansible/files/postgresql_config/postgresql.conf.j2 +++ b/ansible/files/postgresql_config/postgresql.conf.j2 @@ -163,7 +163,7 @@ shared_buffers = 128MB # min 128kB # - Kernel Resources - -#max_files_per_process = 1000 # min 64 +max_files_per_process = 4096 # min 64 # (change requires restart) # - Cost-Based Vacuum Delay - diff --git a/ansible/tasks/setup-postgres.yml b/ansible/tasks/setup-postgres.yml index 188a364b8..e6d3229db 100644 --- a/ansible/tasks/setup-postgres.yml +++ b/ansible/tasks/setup-postgres.yml @@ -311,3 +311,11 @@ - 'export LC_CTYPE="en_US.UTF-8"' become: yes when: nixpkg_mode + +- name: Postgres - bump up ulimit + community.general.pam_limits: + domain: postgres + limit_item: nofile + limit_type: soft + value: 4096 + when: debpkg_mode or nixpkg_mode diff --git a/ansible/vars.yml b/ansible/vars.yml index 9671ec2aa..b67944c94 100644 --- a/ansible/vars.yml +++ b/ansible/vars.yml @@ -8,8 +8,8 @@ postgres_major: # Full version strings for each major version postgres_release: - postgresorioledb-17: "17.0.1.31-orioledb" - postgres15: "15.8.1.035" + postgresorioledb-17: "17.0.1.31-orioledb-ulimit-1" + postgres15: "15.8.1.035-ulimit1" # Non Postgres Extensions pgbouncer_release: "1.19.0" From 446eebfc3303d33172e481e6fa5c4f690135c036 Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Tue, 4 Feb 2025 17:38:14 -0500 Subject: [PATCH 2/4] chore: ulimit only needed here --- ansible/files/postgresql_config/postgresql.conf.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible/files/postgresql_config/postgresql.conf.j2 b/ansible/files/postgresql_config/postgresql.conf.j2 index e9279824d..1604d94f9 100644 --- a/ansible/files/postgresql_config/postgresql.conf.j2 +++ b/ansible/files/postgresql_config/postgresql.conf.j2 @@ -163,7 +163,7 @@ shared_buffers = 128MB # min 128kB # - Kernel Resources - -max_files_per_process = 4096 # min 64 +#max_files_per_process = 1000 # min 64 # (change requires restart) # - Cost-Based Vacuum Delay - From 6ea7689c770f47456e53d43a004ffb483de80d3e Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Fri, 7 Feb 2025 13:36:46 -0500 Subject: [PATCH 3/4] chore: move ulimit to systemd and increase a bit --- ansible/files/postgresql_config/postgresql.service.j2 | 2 +- ansible/tasks/setup-postgres.yml | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/ansible/files/postgresql_config/postgresql.service.j2 b/ansible/files/postgresql_config/postgresql.service.j2 index 8e5318cba..c056ac433 100644 --- a/ansible/files/postgresql_config/postgresql.service.j2 +++ b/ansible/files/postgresql_config/postgresql.service.j2 @@ -20,6 +20,6 @@ Restart=always RestartSec=5 OOMScoreAdjust=-1000 EnvironmentFile=-/etc/environment.d/postgresql.env - +LimitNOFILE=16384 [Install] WantedBy=multi-user.target diff --git a/ansible/tasks/setup-postgres.yml b/ansible/tasks/setup-postgres.yml index e6d3229db..188a364b8 100644 --- a/ansible/tasks/setup-postgres.yml +++ b/ansible/tasks/setup-postgres.yml @@ -311,11 +311,3 @@ - 'export LC_CTYPE="en_US.UTF-8"' become: yes when: nixpkg_mode - -- name: Postgres - bump up ulimit - community.general.pam_limits: - domain: postgres - limit_item: nofile - limit_type: soft - value: 4096 - when: debpkg_mode or nixpkg_mode From 5b7470aaad3979cb7f19e7d965f247295efb953a Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Fri, 7 Feb 2025 13:49:10 -0500 Subject: [PATCH 4/4] chore: bump staging var --- ansible/vars.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ansible/vars.yml b/ansible/vars.yml index 5e2d1e016..0f9b8a328 100644 --- a/ansible/vars.yml +++ b/ansible/vars.yml @@ -8,8 +8,8 @@ postgres_major: # Full version strings for each major version postgres_release: - postgresorioledb-17: "17.0.1.31-orioledb-ulimit-1" - postgres15: "15.8.1.035-ulimit1" + postgresorioledb-17: "17.0.1.31-orioledb-ulimit-2" + postgres15: "15.8.1.035-ulimit-2" # Non Postgres Extensions pgbouncer_release: "1.19.0"