[Mageia-dev] Proposal for Mageia: implement bitorrent protocol to allow updates download

Motoko-chan motokochan at animeneko.net
Tue Jan 18 08:26:12 CET 2011

> However I feel that
> 4) It is reasonable for downloaders to use multiple connexions per 
> mirror, as long as they don't bypass the controls put in place by the 
> mirror.  Not only reasonable, but actually desirable in terms of using 
> otherwise unused download capacity that occurs from time to time, and 
> thus enhancing general download access.

This method only works in the following situations:

- The mirror limits the speed of each individual connection
- You use multiple mirrors to download
- If applying to a single file across multiple mirrors, the mirrors 
support transfer of selective portions of the requested file

In the first situation, the mirror maintainer usually has a good reason 
for limiting connection speed. If their limit is very low, you should 
contact the project they are mirroring and suggest they be dropped as an 
official mirror. Going around admin-imposed limitations is bad manners 
at the very least and will either get you banned or cause further 
restrictions that will harm everyone.

In the second situation, you are now taking the bandwidth of multiple 
mirrors, increasing the overall load on the mirror network. Use of four 
mirrors means you just took up resources that three other people could 
have been using. Effectively, you're being greedy to the detriment of 
the community.

The third situation presumes a certain configuration that isn't 
necessarily true. It also has the same problems as the second situation.

> There is another factor that may not have been considered.  Many 
> downloaders will be slowed by their internet access or other 
> non-mirror factors, which will very much increase the likelihood that 
> mirrors have unused bandwidth at various times.  Increasing the 
> utility -- from both sides -- of multiple connexions.

That is an argument against multi-mirror downloads. Most mirror servers 
will have good bandwidth for their region. In general, the user's 
connection will be a bottleneck. The overhead of maintaining multiple 
connections can actually _slow down_ the downloads.

As for torrents, there exists a large problem in that there are several 
ways to handle such things (torrent per file, torrent per directory, 
etc) and on every change you would need the torrent to be regenerated 
and seeds to be established. If you are doing this on something with a 
lot of file churn such as a development trunk, you run into a ton of 
management overhead for handling the torrents. Even if you start with 
web seeds, you now strain your mirrors by requesting that they be active 
in seeding a bunch of torrents.

Bittorrent makes good sense in one big situation: you have a single 
large or multiple files that will be widely downloaded and distributed, 
and the downloaders are likely to leave their download tool (torrent 
application) running after download. This is especially useful when it's 
going to be a large, but temporary, demand such as ISO files at release 
time. While some mirrors might be able to handle a 200-300% increase in 
traffic, others may not. It's expensive to provision at that capacity 
when such a thing only happens twice a year for a week or maybe two. In 
such cases, torrents make very good sense as they help reduce the peak 
demand on your mirrors.

  - Michael

More information about the Mageia-dev mailing list