[Mageia-dev] Proposal for Mageia: implement bitorrent protocol to allow updates download
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 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.
More information about the Mageia-dev