From fcc0a421ff511ab547e383aa11c018ff091be595 Mon Sep 17 00:00:00 2001 From: dish Date: Sun, 14 Dec 2025 14:06:49 -0500 Subject: [PATCH] [marvin] update postgres settings for new NVMe database --- hosts/marvin/services/postgres.nix | 38 +++++++++--------------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/hosts/marvin/services/postgres.nix b/hosts/marvin/services/postgres.nix index 3ee1be90..1cb408dd 100644 --- a/hosts/marvin/services/postgres.nix +++ b/hosts/marvin/services/postgres.nix @@ -8,43 +8,27 @@ package = pkgs.postgresql_16; enableJIT = true; # Settings taken from [PGTune](https://pgtune.leopard.in.ua/) + # https://pgtune.leopard.in.ua/?dbVersion=16&osType=linux&dbType=mixed&cpuNum&totalMemory=16&totalMemoryUnit=GB&connectionNum&hdType=ssd settings = { + # PGTune Settings max_connections = "300"; - shared_buffers = "2GB"; - effective_cache_size = "6GB"; - maintenance_work_mem = "512MB"; + shared_buffers = "4GB"; + effective_cache_size = "12GB"; + maintenance_work_mem = "1GB"; checkpoint_completion_target = 0.9; wal_buffers = "16MB"; default_statistics_target = 100; - random_page_cost = 4; - effective_io_concurrency = 2; - work_mem = "2621kB"; + random_page_cost = 1.1; + effective_io_concurrency = 200; + work_mem = "19418kB"; huge_pages = "off"; min_wal_size = "1GB"; max_wal_size = "4GB"; - max_worker_processes = 8; + + max_worker_processes = 16; + max_parallel_workers = 16; max_parallel_workers_per_gather = 4; - max_parallel_workers = 8; max_parallel_maintenance_workers = 4; }; }; - # systemd.timers.pg-autovacuum = { - # description = "Timer for Postgres Autovacuum"; - # timerConfig = { - # OnCalendar = "*-*-* 01:00:00"; - # Unit = "pg-autovacuum.service"; - # }; - # }; - # systemd.services.pg-autovacuum = { - # description = "Vacuum all Postgres databases."; - # requisite = [ "postgresql.service" ]; - # wantedBy = [ "multi-user.target" ]; - # serviceConfig = { - # Type = "oneshot"; - # User = "postgres"; - # Group = "postgres"; - # SyslogIdentifier = "pg-autovacuum"; - # ExecStart = "${cfg.package}/bin/vacuumdb --all --echo --jobs=6 --parallel=5 --analyze --verbose"; - # }; - # }; } -- 2.54.0