celestiaorg / celestia-core

A fork of CometBFT
Apache License 2.0
489 stars 269 forks source link

IPFS performance improvments and experiments #387

Closed musalbas closed 3 years ago

musalbas commented 3 years ago

We need to get to the bottom of why "providing" time for the experiments (https://github.com/lazyledger/ipld-plugin-experiments/pull/9) is different to the MVP, and in general, work towards more confidence in the performance and scalability of IPFS.

Experiments that can be done:

Experimental improvements:

Wondertan commented 3 years ago

In lazyledger-core MVP, what's the total time to sample a chunk, when the sample request is made immediately after the block is generated (but before provided is finished) and when the block interval is 30 seconds?

@musalbas, I guess you mean unconnected node. I've done enough experiments to say that it would take >1.5min

Wondertan commented 3 years ago

But that's on real IPFS network, in the case of a private network the time would be much lesser, but we still need to do deploy it and exec experiments

Wondertan commented 3 years ago

If we imagine that our network grows to the size of the IPFS's one, I am confident that there is no way around it, besides moving on new DHT client with full routing table

musalbas commented 3 years ago

We concluded the following: DHT providing was still slow only for the first request in the DigitalOcean experiments, but it took ~3s in subsequent requests because BitSwap kicked in, to bypass DHT.