I’ve setup the IPFS node onto multple VMs and connected them using the command ipfs swarm connect <node id>. When I pin the same block on multiple nodes, I was expecting my download to become faster for this block, by leveraging parellel downloads from multiple peers for different blocks in the merkel DAG, somewhat like how torrent does it from different peers.
Am I wrong in expecting this or do I need to do some additional configurations to make it work with multiple peers?
[UPDATE] I forgot to mention, I am using a modified version of go-ipfs but I’m pretty sure its not the reason I’m facing this issue. I am just storing the block hash to a smart contract on the ethereum blockchain. You can see the modified version of go-ipfs here https://github.com/utkarsh23/go-ipfs
It wasn’t clear, sorry. What I meant is that if the receiving node has a 1 Mbps and the first sending node is already sending at 1 Mbps, the other sending node won’t be able to contribute to the speed.
Thanks for that @Akita . I’ve been performing my experiment with IPFS on google cloud VMs so I’m pretty sure that download speeds aren’t the bottleneck on cloud. I did see the bitswap article that you have attached and looks like I’m right in expecting faster downloads for multiple seeders. Still investigating this issue, if you got more ideas let me know.
You are referring to pinning the same “block” and then to downloading a “block” but I think you mean DAG.
The level of paralellization will depend on the shape of your DAG. Is it a merkledag/unixfs? How big is the file that you added? Did you use default options in terms of chunking/dag-generation? And how many ipfs nodes are “multiple” ?
How slow is the download from a single ipfs node vs when several peers have the dag? What is the output of ipfs stats bitswap on each node?