I have just ventured into exploring decentralised storage technologies and trying to explore IPFS, mainly via the IPFS-Desktop app and cli.
One of the first things I am excited about is IPFS’s ability to act like a CDN and deliver fast (eventually faster) download speeds compared to traditional HTTP resources.
So I started with a simple get of the XKCD archive.
ipfs get QmdmQXB2mzChmMeKY47C43LxUdg1NDJ5MWcKMKxDu7RgQm
Unfortunately I was disappointed with the download speeds I was getting, not more than 100kb/s
I suspected that perhaps my ISP is throttling p2p traffic. So i turned on VPN and tried again. This time it went up to about 500kb/s where as a traditional speed test (fast.com) was showing around 11Mbps speeds.
Here’s some information that might be handy
Output from ipfs swarm shows I have connections to 328 peers
> ipfs swarm peers | wc -l
Here’s some bandwidth information from IPFS
> ipfs stats bw
TotalIn: 83 MB
TotalOut: 3.0 MB
RateIn: 26 kB/s
RateOut: 16 B/s
What am I missing here ?
- Are these normal download speeds ? Or is this happening because there are multiple small files in the XKCD archive ? (1864 files)
- How are people dealing with ISP throttling when accessing IPFS data ? (Assuming that my observations show Vodafone is throttling p2p traffic)
I dont have an answer per se but I can offer some insights on dealing with heavy handed ISP policies. Most of their intelligence they get from the IPLOG that comes from their DNS servers. They take action on behavior or actors after they have a number of points of correlation. These are attached to recurring unique ID/profiles gleaned from meta-data and user-agent strings.
The Achilles heel for ISP is also the same vehicle they use against subscribers. QoS (Quality of Service)… Some services they provide to businesses fail if there is excessive latency or marginalized bandwidth. This service would be VOIP. Voice over IP. In China, they have additional constraints in the form of censorship and prohibitions. This gave rise to a set of tools known as “Hysteria Toolkit”. V2Ray tools are used for encryption and a large amount of UDP and QUIC based tools. These tools exploit QoS. Messaging apps such as Telegram are less constrained and have good persistence.
As far as low bandwidth goes… It could be that you are connected to too many nodes. Or it could be that there isnt enough interest in what you’ve uploaded. Also if you have many small files in the transfer queue, file transfers drop to random read rate (the lowest speed). Finally internet speed tests are scripted runs against known servers that exist for that purpose. They aren’t reality in my opinion and fail to provide useful comparison other.