From 5af712acc362dc652c78e5abb8cba56d5642dafb Mon Sep 17 00:00:00 2001 From: Dillard Blom Date: Sun, 18 Oct 2026 01:26:27 +0200 Subject: [PATCH] README: BBR for backups over a long distance --- PLAN.md | 3 +++ README.md | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/PLAN.md b/PLAN.md index bfd91de..4e768c4 100644 --- a/PLAN.md +++ b/PLAN.md @@ -433,6 +433,9 @@ in README "Known limitations": 14. **Uploaden over een lange lijn**: backup naar OVH S3 Warschau vanaf Canada (RTT 114 ms) haalt ~1 MiB/s met één pack tegelijk; `aws s3 cp` (multipart, parallel) 6 MiB/s. Meerdere packs tegelijk uploaden of S3 multipart. Minder dringend dan 13 (restore). + Oorzaak netwerk (met Sysop): pakketverlies trans-Atlantisch + cubic in de VM; met BBR gaat één + PUT van 2,4 naar 7,5 MiB/s, ng_backup van ~1 naar ~1,6 MiB/s (rest = serieel lezen/uploaden). + Tip over BBR in de README gezet. Let op: PVE02 staat in Canada; een restore in de EU gaat sneller. 15. DR-document: in het Docker-voorbeeld "je containernaam" (`docker ps`) i.p.v. `nextcloud`. **Daarna verplicht:** een tweede volledige restore op een verse VM, alleen met de HOWTO en de nieuwe opties, zonder handwerk. Pas als die in één keer slaagt: 1.0.0. diff --git a/README.md b/README.md index 119d6fc..f2a3a45 100644 --- a/README.md +++ b/README.md @@ -175,6 +175,13 @@ Contributions welcome via PR — add what you ran into with your own provider. the backend being listed is not proof it will work here. Once the extension is present it works the same as any other backend; no ng_backup-specific config beyond host/share/user/password. +- **Backups over a long distance (high latency):** on Linux, the default TCP congestion control + (cubic) slows a single connection down a lot on a long line with some packet loss. From Canada to + an S3 bucket in Warsaw (114 ms), one upload went from 2.4 to 7.5 MiB/s after switching the + server (or the VM/container host where TCP ends) to BBR: + `sysctl -w net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr` + (`modprobe tcp_bbr` first; make it permanent in `/etc/sysctl.d/`). + - **NFS is not a files_external backend at all.** Mount the NFS export on the server yourself (e.g. via `/etc/fstab` or a systemd `.mount` unit) and point ng_backup's `local` backend at the mount point; ng_backup never mounts or unmounts anything on its own, so an NFS mount dropping