Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dashboard comparing IPFS file-sharing performance for different versions (benchmarking.ipfs.io) #34

Open
adlrocha opened this issue Feb 3, 2021 · 0 comments

Comments

@adlrocha
Copy link
Contributor

adlrocha commented Feb 3, 2021

With #32, #32, #33, the testbed is getting into great shape, and considering @hannahhoward and @acruikshank's amazing job visualizing Graphsync's performance compared to TCP for several files and network conditions, it'd be great to have a public IPFS file-sharing performance comparison dashboard similar to this one for NodeJS: https://benchmarking.nodejs.org/

My proposal would be:

  • Either every day or with every new commit in one of IPFS' exchange interfaces repos (mainly Bitswap and Graphsync) or IPFS itself, run a test case to evaluate their performance.
  • Publish a comparison of the results (Bitswap v.s. TCP v.s. Graphsync) in a public website for anyone to be able to track their current performance, and improvements with every commit.

We have to agree on the test cases to run for the benchmark. But a good start would be:

  • 1:1 exchange with 100ms for B=50Mbps/100Mbps and three well known datasets up to 1GB from https://awesome.ipfs.io/datasets/ (so anyone is able to replicate the experiment).
  • An additional experiment n:1 in Bitswap to evaluate whether it is leveraging multi-path exchanges and the benefit of this.

We may be able to leverage Testground as a Service to trigger the test with every new commit.

BONUS: If we can add to this benchmark an experiment that perform an exchange between two nodes at different locations through the real IPFS network (instead of using Testground), we would be able to evaluate how the status of the network may affect the file exchange (although this may not be worth the effort considering the added value it really brings)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant