From 18d5341c4d8184e62293239991edb1ead8167970 Mon Sep 17 00:00:00 2001 From: Pablo Deymonnaz Date: Thu, 16 Apr 2026 18:38:29 -0300 Subject: [PATCH] Document sysctl tuning for QUIC UDP receive buffer sizes Add a note in the devnet section about increasing net.core.rmem_max and net.core.wmem_max to 7 MiB for optimal QUIC performance, with instructions for both bare-metal and Docker environments. Closes #295 --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 4d16ecf2..c9bdd39c 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,13 @@ make run-devnet This generates fresh genesis files and starts all configured clients with metrics enabled. Press `Ctrl+C` to stop all nodes. +> **Note:** On Linux, QUIC performance benefits from larger UDP receive buffers. If you see warnings about buffer sizes, increase the kernel limit: +> ```sh +> sudo sysctl -w net.core.rmem_max=7340032 +> sudo sysctl -w net.core.wmem_max=7340032 +> ``` +> To persist across reboots, add to `/etc/sysctl.conf`. For Docker, pass `--sysctl net.core.rmem_max=7340032 --sysctl net.core.wmem_max=7340032`. + > **Important:** When running nodes manually (outside `make run-devnet`), at least one node must be started with `--is-aggregator` for attestations to be aggregated and included in blocks. Without this flag, the network will produce blocks but never finalize. For custom devnet configurations, go to `lean-quickstart/local-devnet/genesis/validator-config.yaml` and edit the file before running the command above. See `lean-quickstart`'s documentation for more details on how to configure the devnet.