summary refs log tree commit diff
path: root/host
diff options
context:
space:
mode:
Diffstat (limited to 'host')
-rwxr-xr-xhost/Rory-nginx/configuration.nix1
-rwxr-xr-xhost/Rory-nginx/services/matrix/draupnir.nix2
-rwxr-xr-xhost/Rory-nginx/services/postgres.nix22
3 files changed, 13 insertions, 12 deletions
diff --git a/host/Rory-nginx/configuration.nix b/host/Rory-nginx/configuration.nix
index 3f0bcc4..7a94254 100755
--- a/host/Rory-nginx/configuration.nix
+++ b/host/Rory-nginx/configuration.nix
@@ -100,4 +100,5 @@
   system.stateVersion = "22.11"; # DO NOT EDIT!
 
   environment.systemPackages = with pkgs; [ waypipe ];
+  nix.nrBuildUsers = 128;
 }
diff --git a/host/Rory-nginx/services/matrix/draupnir.nix b/host/Rory-nginx/services/matrix/draupnir.nix
index 1fd4b08..8be10bc 100755
--- a/host/Rory-nginx/services/matrix/draupnir.nix
+++ b/host/Rory-nginx/services/matrix/draupnir.nix
@@ -27,7 +27,7 @@
       autojoinOnlyIfManager = true; # Let's not open ourselves up to DoS attacks
       automaticallyRedactForReasons = [ "*" ]; # I always want autoredact
       fasterMembershipChecks = true;
-      roomStateBackingStore.enabled = true; # broken under nix.
+      #roomStateBackingStore.enabled = true; # broken under nix.
 
       backgroundDelayMS = 10; # delay isn't needed, I don't mind the performance hit
       pollReports = false; # this is a single person homeserver... let's save ourself the work
diff --git a/host/Rory-nginx/services/postgres.nix b/host/Rory-nginx/services/postgres.nix
index c728151..d24b0b9 100755
--- a/host/Rory-nginx/services/postgres.nix
+++ b/host/Rory-nginx/services/postgres.nix
@@ -5,7 +5,7 @@
 
   services.postgresql = {
     enable = true;
-    package = pkgs.postgresql_16;
+    package = pkgs.postgresql_16_jit;
     enableTCPIP = true;
     authentication = pkgs.lib.mkOverride 10 ''
       # TYPE, DATABASE, USER, ADDRESS, METHOD
@@ -27,8 +27,8 @@
       max_connections = 2500;
       superuser_reserved_connections = 3;
 
-      shared_buffers = "32GB";
-      work_mem = "16GB";
+      shared_buffers = "64GB";
+      work_mem = "32GB";
       maintenance_work_mem = "8GB";
       huge_pages = "try";
       effective_cache_size = "64GB"; # was 22
@@ -44,17 +44,17 @@
 
       wal_level = "replica";
       max_wal_senders = 0;
-      synchronous_commit = "off"; # was ond3
+      synchronous_commit = "on"; # was ond3
 
       checkpoint_timeout = "15min";
       checkpoint_completion_target = "0.9";
       max_wal_size = "2GB";
       min_wal_size = "1GB";
 
-      wal_compression = "on";
+      wal_compression = "off";
       wal_buffers = "-1";
-      wal_writer_delay = "200ms";
-      wal_writer_flush_after = "1MB";
+      wal_writer_delay = "500ms"; #was 100
+      wal_writer_flush_after = "32MB"; # was 1
       #checkpoint_segments = "64"; # additional
       default_statistics_target = "250"; # additional
 
@@ -63,10 +63,10 @@
       bgwriter_lru_multiplier = "2.0";
       bgwriter_flush_after = "0";
 
-      max_worker_processes = "32"; # was 14
-      max_parallel_workers_per_gather = "16"; # was 7
-      max_parallel_maintenance_workers = "16"; # was 7
-      max_parallel_workers = "32"; # was 14
+      max_worker_processes = "64"; # was 14
+      max_parallel_workers_per_gather = "32"; # was 7
+      max_parallel_maintenance_workers = "32"; # was 7
+      max_parallel_workers = "64"; # was 14
       parallel_leader_participation = "on";
 
       enable_partitionwise_join = "on";