Gentoo Archives: gentoo-mirrors

From: "Robin H. Johnson" <robbat2@g.o>
To: gentoo-mirrors@l.g.o
Subject: Re: [gentoo-mirrors] Gentoo Linux 2007.0 and BitTorrent
Date: Fri, 04 May 2007 10:53:02
Message-Id: 20070504105252.GV7846@curie-int.orbis-terrarum.net
In Reply to: Re: [gentoo-mirrors] Gentoo Linux 2007.0 and BitTorrent by Georgi Georgiev
1 On Fri, May 04, 2007 at 06:57:21PM +0900, Georgi Georgiev wrote:
2 > > Your webservers will need to support HTTP Range requests for this to
3 > > work. The BitTorrent clients will send range requests for 32K..256K
4 > > blocks (powers of two only).
5 > How is HTTP BT seeding different than ordinary mirroring (assuming the
6 > server supports Range)? As I don't need to do anything on the server
7 > side (that's my understanding for the moment at least), is there a
8 > particular reason why I should care? We (mirrors) are still going to
9 > serve that same content that we have already agreed to serve.
10 I asked it mainly as courtesy of the mirrors, but also because I was
11 concerned about any cases where it might cause trouble for the mirrors:
12
13 - In the best case, if your-choice-httpd supports both KeepAlive and
14 Range, then the BitTorrent client will pick a point N, and just
15 sequentially ask for block N, N+1, N+2, ... on that single HTTP
16 connection - this takes advantage of disk read-ahead on the server
17 side.
18 - If your httpd does not support range, there's going to be a separate
19 connection for each block, which might accidentally trigger some abuse
20 detection systems. A client with 1Mbit could cause 3 connections per
21 second to your mirror.
22 - If your httpd does not support Range, the BitTorrent client would
23 fail-out.
24 - From a discussion that was asked of me on #gentoo-mirrors, if your
25 mirror server used some non-default IO readahead (eg posix_fadvise),
26 there's also the possibility that it would increase your disk
27 thrashing since it asks for lots of small chunks instead of big ones.
28
29 --
30 Robin Hugh Johnson
31 Gentoo Linux Developer & Council Member
32 E-Mail : robbat2@g.o
33 GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85