feat: python perf - yamux window auto-tuning#62
feat: python perf - yamux window auto-tuning#62asabya wants to merge 2 commits intolibp2p:migrate/pr808-python-perffrom
Conversation
Point python-v0.x at asabya/py-libp2p with yamux receive window auto-tuning (256KB→16MB).
AI Assisted Debugging:The PR introduced yamux receive window auto-tuning (256KB → 16MB) to improve throughput. The The problem: in py-libp2p, yamux's write() used send_window as the only limit on frame size. As the window auto-tuned upward, yamux started sending multi-megabyte frames down to the Failure 1: Noise encryption rejects large payloads (4 tests, instant failure)The Noise protocol encrypts messages using ChaCha20-Poly1305 with a hard 65535-byte transport NoiseInvalidMessage: Data must be bytes and less or equal 65535 bytes in length Failure 2: WebSocket + TLS choked on large frames (2 tests, 5-min timeout)WS+TLS tests didn't crash — they just ran extremely slow (~0.15 Gbps vs expected ~5 Gbps) and |
Summary
python-v0.xperf image atasabya/py-libp2pwith yamux receive window auto-tuning (256KB → 16MB)images.yamlChanges
perf/images.yaml: Switch python-v0.x source fromlibp2p/py-libp2ptoasabya/py-libp2p(commit9a9a4a6) which includes yamux window auto-tuning. Clean up commented-out local config.Test plan