Seeking thoughts on how to measure download speed on IPFS

As the title says I am interesting in measuring download speeds on IPFS for a school related project and obviously, the plethora of tools that can do this job in the traditional client/server setup does not fit in a distributed setup like ipfs.

So the question is, are there ways, or tools that can be used to measure download speed/rate of data transfer on IPFS?

Right now I am thinking of just doing time ipfs get [file], but I doubt if that would be the most accurate/technical sound approach.

ipfs stats bw perhaps ?

1 Like

time ipfs get ... is probably the best way. Unless you also want to measure content resolution, you should connect to the nodes that have the content first (you should also test with different file sizes). Unfortunately, just measuring the bandwidth will also measure all the transport overhead.

Thanks for the tips.

What exactly do you mean by content resolution ? how is it different from downloading content and why do you think it could be an interesting metrics? to measure?

The plan is to have a private ipfs network. Add content to one node via ipns. switch to other nodes and measure how long it takes to download the content (varying content size etc). Does this method takes into consideration “content resolution”?

Unfortunately, just measuring the bandwidth will also measure all the transport overhead.

Yes and that is fine. Since it is part of the price that needs to be paid when using IPFS, it is needed in other to make a fair and accurate comparison with other technology

IPFS downloads content in two steps:

  1. Find the content.
  2. Fetch the content.

However, you can (and many apps do) skip the first step by directly connecting peers you believe have the content. Basically, if you want to measure pure throughput, just measure the time it takes for step 2. If you want to measure the “whole process”, measure both (but your times are going to be pretty variable and are going to depend on when the content was added, etc.).

1 Like