Question about Download speed
| node | upload bandwidth |
|---|---|
| A | 1Mbps |
| B | 10Mbps |
Add the same file(QmS) in A and B, use node C to get the file(ipfs get QmS).
The expectation of download speed is 1M/s, but the real download speed is about 200kB/s.
Are your units correct?
- 1 Mbps = 1 mega-bit per second.
- 200 kB/s = 1000 kilo-bytes per second.
1 Mbps = 1/8 MB/s = 125kB/s
On the other hand, there's a lot of room for improvement...
Sorry, this is the result of after I change the code. I want to make full use of all the peer's upload bandwidth to download. In this case, the expected Download bandwidth is 11Mbps, but the actual results is smaller than the expectation.
@LiMoMoMo are you fetching a single large block? A combined download speed could not be achieved unless you're requesting multiple blocks at once.
That said, the overall total is concerning.
Also @stebalien -- not sure I know exactly how UnixFS will chunk up a large file but maybe there is a limitation in terms of the round tripping for want lists? (especially since we have a want list limit of 32)
not sure I know exactly how UnixFS will chunk up a large file but maybe there is a limitation in terms of the round tripping for want lists? (especially since we have a want list limit of 32)
We should be fine there. Assuming a 100ms latency (pretty high), we should get a throughput of 40MiB/s for large files (chunks are 256KiB each). (not good but not terrible).
Unfortunately, this could be related to the fact that get reads the file sequentially (albeit with a bit of prefetching) so bandwidth usage could be bursty.