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