diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-10-11 19:09:04 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-10-11 19:09:04 +0200 |
| commit | 176b5ed563f7022009b70751e62b7ee7901e6da0 (patch) | |
| tree | dfc3d3b4653cb63ef680cfd5d914fe52ba3a9635 /CLAUDE.md | |
| parent | aca58f66df5c21be71a7159620d0b50bb969199f (diff) | |
| download | meshbay-176b5ed563f7022009b70751e62b7ee7901e6da0.tar.gz | |
feat(node): carry connections on several cores
connection_processes (default 1) starts that many processes for the
WebRTC stack; sessions and keys stay in the node. Set from node.toml
or the Node page, applied to new connections.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -737,6 +737,18 @@ do. Read them before writing anything that touches the same mechanism. with one connection and with eight, so only a browser on another machine measures it +- **Measure which machine is the limit before adding cores to one of them.** + "Two clients will share the node's one core" was the reasoning; measured, two + browsers downloading at once left the node at 60 % of a core and saturated + the four cores of the machine receiving. The node's ceiling is real (one + aiortc process, about 35 MB/s over all its connections) but it is the third + fast client that meets it, not the second. What moved to other processes is + only the stack below the data channel (`connection_processes`, + `transport/webrtc/workers.py`, `docs/MESHBAY_DESIGN.md` §5.5), because that + is where the CPU went: with four processes the node proper used 18 % of a + core at 131 MB/s. Splitting there also means no key leaves the node's own + process + ### More of the same, from four rounds of live testing - **A protocol harness cannot test the SPA.** Any second implementation of the |