Commit Graph

9 Commits

Author SHA1 Message Date
Max Inden 0a8dbab87c
feat(perf): continuosly measure on single conn (iperf-style) (#276)
Our current throughput tests open a connection, open a stream,
up- or download 100MB and close the connection. 100 MB is not enough on the
given path (60ms, ~5gbit/s) to exit congestion controller's slow-start. See
https://github.com/libp2p/test-plans/issues/261 for details.

Instead of downloading 100MB multiple times, each on a new connection, establish
a single connection and continuously measure the throughput for a fixed
duration (20s).
2023-10-25 13:24:08 +02:00
github-actions[bot] 09d15c0e8b
chore: add go-libp2p@v0.31.0 to perf/impl/go-libp2p (#295)
* chore: add go-libp2p@v0.31.0 to perf/impl/go-libp2p

* perf: update benchmark results

---------

Co-authored-by: galargh <galargh@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-04 11:28:35 +02:00
Piotr Galar 353e2db77c
fix: how new go-libp2p versions are added to perf (#294) 2023-09-04 09:40:32 +02:00
Piotr Galar 2980863ebc
feat: automate adding new go-libp2p versions to perf (#256)
* feat: automate adding new go-libp2p versions to perf

* fix: put add-new-impl-versions.yml on schedule
2023-09-02 10:16:35 +02:00
Max Inden 35eb403b2d
feat(perf): add go-libp2p v0.29 (#242) 2023-07-26 14:01:46 +02:00
Max Inden 67960902e8
feat(perf/go-libp2p): add v0.28.1 (#209) 2023-06-27 03:24:19 +02:00
Max Inden cdf7820037
refactor(perf): expose single latency measurement (#207) 2023-06-26 10:35:44 +02:00
Max Inden b1cfea4f52
fix(perf/go-libp2p): close write after sending in client (#205)
Follow up to https://github.com/libp2p/test-plans/pull/184.
2023-06-23 03:43:06 +02:00
Max Inden 53ff8b5db1
feat(perf): add (automation, provision, build, run) tooling (#184)
This project includes the following components:

- `terraform/`: a Terraform scripts to provision infrastructure
- `impl/`: implementations of the [libp2p perf
  protocol](https://github.com/libp2p/specs/blob/master/perf/perf.md) running on
  top of e.g. go-libp2p, rust-libp2p or Go's std-library https stack
- `runner/`: a set of scripts building and running the above implementations on
  the above infrastructure, reporting the results in `benchmark-results.json`

Benchmark results can be visualized with
https://observablehq.com/@mxinden-workspace/libp2p-performance-dashboard.

Co-authored-by: Marco Munizaga <git@marcopolo.io>
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
Co-authored-by: Piotr Galar <piotr.galar@gmail.com>
2023-06-22 13:54:09 +02:00