Closed MarcoPolo closed 1 year ago
Wrote a draft implementation of this specification on top of rust-libp2p. See https://github.com/libp2p/rust-libp2p/pull/3508.
Draft only for now. Don't (yet) expect this to produce reliable performance metrics.
Server implementation is deployed at
/dns4/libp2p-perf.max-inden.de/tcp/4001
.Easiest way to test from your machine:
docker run -ti --rm --entrypoint perf-client mxinden/libp2p-perf --server-address /dns4/libp2p-perf.max-inden.de/tcp/4001 Finished run: Sent 10 MiB in 9.497557834 s with 8.423217989114063 MiBit/s and received 10 MiB in 6.494584597 s with 12.317954875351667 MiBit/s
For server machine metrics, see https://libp2p-perf.max-inden.de/d/rYdddlPWk/node-exporter-full
Is there any value in merging this early? If not, I would suggest holding off until we have a first implementation.
https://github.com/libp2p/rust-libp2p/pull/3508 just merged in case you were holding off merging here till there is at least one implementation @MarcoPolo.
Merging this since we have 4 implementations out already (Rust, Go, JS, and Zig). I'll leave it as 1A for now since all of these are prototypes and we haven't merged anything yet (with the exception of the Rust impl). We can update that in a future PR.
A simple protocol to run client-driven benchmarks inspired by https://datatracker.ietf.org/doc/html/draft-banks-quic-performance.