Compare commits

..

1 Commits

Author SHA1 Message Date
152d569bcf fix: optimize NFS mount options for Syncthing performance
- Replace defaults with explicit optimized NFSv3 options
- noatime: eliminates 8M+ atime setattr calls during Syncthing scans
- rsize/wsize=1048576: 32x larger transfer buffers (was 32KB)
- timeo=14: 1.4s timeout instead of 60s (LAN, not WAN)
- retrans=5: more retries since timeo is low

Root cause: NFS server only supports NFSv3, and 'defaults' uses
kernel-minimum rsize/wsize=32KB + atime updates on every read.
Syncthing's 80K-file scans generated 52M getattr + 8M setattr RPCs.
These options reduce metadata RPC overhead and increase data throughput.
2026-07-08 16:23:41 -04:00
5 changed files with 19 additions and 5 deletions

View File

@@ -7,7 +7,16 @@
fileSystems."/mnt/HoardingCow_docker_data" = {
device = "192.168.1.2:/WorkHorse_docker_data";
fsType = "nfs";
options = [ "defaults" "nofail" "_netdev" ];
options = [
"noatime"
"hard"
"nofail"
"_netdev"
"rsize=1048576"
"wsize=1048576"
"timeo=14"
"retrans=5"
];
};
};
}

2
secrets/.gitignore vendored
View File

@@ -1,2 +0,0 @@
*.age.bak
*.corrupt.bak

Binary file not shown.

View File

@@ -8,4 +8,11 @@ let
in
{
"containers.env.age".publicKeys = authorizedKeys;
}
"lazyworkhorse_host_ssh_key.age".publicKeys = authorizedKeys;
"n8n_ssh_key.age".publicKeys = authorizedKeys;
"openclaw_gateway_token.age".publicKeys = authorizedKeys;
"ai.age".publicKeys = authorizedKeys;
"cloudstorege.age".publicKeys = authorizedKeys;
"homeautomation.age".age".publicKeys = authorizedKeys;
"network.age".age".publicKeys = authorizedKeys;
}