Jump to content

Torrent download speed

From Pulsed Media Wiki


The fastest way to download a torrent is to not download it at home. A seedbox on a 1 Gbps or 10 Gbps datacenter link finishes in seconds what takes minutes or hours on a home connection. Your ISP never touches the traffic.

On Pulsed Media seedboxes, a 50 GB torrent on a well-seeded swarm can finish in under a minute on a 10 Gbps plan. You then pull the files to your machine over SFTP or HTTPS at whatever speed your home connection allows.

This article covers what determines torrent download speed and what you can actually change.

What determines download speed

Torrent download speed is the minimum of three things:

  1. Your bandwidth: Your internet connection's download capacity. A 100 Mbps home connection caps at ~12 MB/s regardless of anything else. A 10 Gbps seedbox link caps at ~1.2 GB/s.
  2. Swarm supply: How fast the seeders can collectively upload to you. A torrent with one seeder on a 10 Mbps connection will be slow no matter what you do.
  3. Protocol overhead and throttling: ISP throttling, NAT restrictions, encryption overhead, and BitTorrent protocol inefficiency all reduce the effective speed below your raw bandwidth.

On a home connection, all three are constrained. On a seedbox, the first and third are essentially removed. Only swarm supply limits the speed.

Home connection bottlenecks

ISP throttling

Many ISPs use deep packet inspection (DPI) to identify and throttle BitTorrent traffic. Your speed test says 500 Mbps but your torrents crawl at 2 MB/s. This is not a swarm problem. It is your ISP deliberately slowing torrent traffic.

Forcing encryption in your torrent client (rTorrent, Deluge, or qBittorrent) helps against basic DPI. It does not help against ISPs that throttle all non-HTTP traffic or limit upload bandwidth separately from download.

A seedbox bypasses ISP throttling because the BitTorrent traffic happens on the datacenter network. The file transfer from seedbox to your machine uses SFTP or HTTPS, which ISPs do not throttle.

See Stalled torrents for more on ISP throttling.

NAT and firewall

If your torrent client cannot accept incoming connections (common behind home routers and CGNAT), you can only connect to peers that are themselves connectable. This reduces the pool of available peers and slows downloads. On well-seeded public torrents the impact is small. On private trackers with thin swarms it can be the difference between downloading and not.

A seedbox runs on a server with a public IP. Full connectivity to the entire swarm.

Distance from peers

Geographic distance adds latency, which reduces throughput on individual connections. If most seeders for a torrent are in Europe and you are in North America, each connection is slower than it would be for a European leecher.

PM seedboxes are in Finland, well-connected to European networks (Stockholm ~8ms, Frankfurt ~27ms, London ~36ms via the C-Lion1 submarine cable). Most private tracker users and large public swarms have heavy European seeder populations.

Torrent client tuning

If you are running a torrent client at home, a few settings affect speed:

Max connections per torrent: Too low and you miss available peers. Too high and your router or ISP chokes on connection tracking. 50-100 per torrent is a reasonable range for home connections.

Max upload speed: Set this to about 80% of your ISP upload speed. If upload is fully saturated, download ACK packets get queued and download speed drops. This is basic TCP flow control.

Encryption: Set to "prefer encrypted" or "force encrypted" if your ISP throttles. If your ISP does not throttle, encryption adds CPU overhead for no benefit.

DHT and PEX: Keep DHT and Peer Exchange enabled. They find peers that the tracker missed. On public torrents, DHT often has more peers than the tracker.

These settings make a marginal difference. They cannot overcome the fundamental limits of your home connection bandwidth and ISP policies.

The seedbox difference

A seedbox inverts the problem. Instead of downloading the torrent to your home connection, the seedbox downloads it on datacenter bandwidth. Then you download the finished files from the seedbox.

Factor Home connection PM seedbox
Bandwidth 50-1000 Mbps typical 1,000-20,000 Mbps
ISP throttling Common Does not apply
NAT/firewall Usually behind NAT Public IP, direct connectivity
Uptime On while your computer runs 24/7
Concurrent torrents Limited by RAM and CPU Server-grade hardware
Network distance Varies by ISP routing Direct European transit

The speed difference is most noticeable on new torrents where the swarm is active and there is bandwidth to absorb. A Linux ISO torrent with 500 seeders finishes in seconds on a 10 Gbps seedbox. The same torrent on a 200 Mbps home connection with ISP throttling takes 20 minutes.

Getting files from seedbox to your machine

After the seedbox finishes the download, you transfer the files home. The transfer speed is limited by your home ISP download speed, but this uses SFTP or HTTPS, not BitTorrent. ISPs do not throttle these protocols.

For large transfers, use rsync (delta-only, resumable) or lftp (parallel segmented downloads). For quick grabs, SFTP with FileZilla or WinSCP works. For automated sync, set up rclone on a cron schedule.

See Downloading from seedbox for detailed instructions on each method.

See also

On the blog: