A tip for ppl who download big iso files like fedora iso's

Nifty Hat Mitch mitch48 at sbcglobal.net
Sun Nov 14 22:36:00 UTC 2004


On Wed, Nov 10, 2004 at 08:03:00PM -0500, Carroll Grigsby wrote:
> On Wednesday 10 November 2004 11:57 am, James Mckenzie wrote:
> 
> >>> snip

> > It's also nice to see Azureus advise me that it dropped pieces
> > because they were corrupt.

Yep BT and Azureus...  a good thing.

But BT and ASDL for me is not a well balanced pair.
Below here is my current work around.

One of the characteristics of ASDL that is not a good thing for
default settings of BT is the upload speed of ASDL.  Upload can be
1/10 of the download speed.  With such a skinny upload pipe I thought
I should throttle the defaults to limit the bandwidth and the number
of connections.  Doing so makes my system more useful to me and I believe
helps others as well.

The net result of the tuning is that I end up with three clients and
9K total upload bandwidth.  A normal client will have 35 connections,
so with 3x35 connections like mine they can get +100K on their download.

Limiting the bandwidth is necessary for me because my ASDL access is
at the end of an Ethernet and the bandwidth mismatch causes packets to
be dropped and retransmitted. Those with an ASDL PCI card may not need
to do this.  They may simply need to limit the connections.  Matching
the rate eliminates almost all the retransmit packets and other errors
that TCP/IP has to correct.

Of interest in a second window if you use lsof you can watch
the number of connections thus...

Get the pid of BT
 #  lsof | grep heidelberg
replace PID with the process id of your bt.
 # while /bin/true; do date; lsof -p PID   | egrep "IPv"; sleep 15; done

Anyhow, After I have downloaded the images here is the wrapper I use
to run BT long term so I can give back to the torrent in a productive
way.   Take it with a grain of salt... 

==== snip =========
#! /bin/bash -x
# if there is a copyright to this script it is GNU General Public Licensed.
# http://www.gnu.org/copyleft/gpl.html

#TORRENT="heidelberg-src-i386.torrent"
TORRENT="heidelberg-binary-i386.torrent"

# insert path here.
BTdownloadcurses="./BitTorrent-3.4.2/btdownloadcurses.py "

FLAGS=""

# Building arguments...:

# --check_hashes <arg>
#           whether to check hashes on disk (defaults to 1)
#           set this to 0 if the local copy is known OK
#
#FLAGS="$FLAGS  --check_hashes 0 "

#  --max_allow_in <arg>
#            maximum number of connections to allow,
#	      after this new incoming connections
#            will be immediately closed (defaults to 55)
FLAGS="$FLAGS  --max_allow_in 3 "

# --max_uploads <arg>
#           the maximum number of uploads to allow at once.
#           (defaults to 7)
#
FLAGS="$FLAGS  --max_uploads 3 "

# --display_interval <arg>
#           time between updates of displayed information (defaults
#           to 0.5)
#
FLAGS="$FLAGS  --display_interval 4 "

# --min_peers <arg>
#           minimum number of peers to not do rerequesting
#           (defaults to 20)
#
FLAGS="$FLAGS  --min_peers 5 "

# --max_initiate <arg>
#           number of peers at which to stop initiating new
#           connections (defaults to 35)
#
FLAGS="$FLAGS  --max_initiate 3 "

# --max_upload_rate <arg>
#           maximum kB/s to upload at, 0 means no limit (defaults
#           to 0)
FLAGS="$FLAGS  --max_upload_rate 9 "

#  --spew <arg>
#            whether to display diagnostic info to stdout (defaults to 0)
#
FLAGS="$FLAGS  --spew 1 "

# --rarest_first_cutoff <arg>
#           number of downloads at which to switch from random to
#           rarest first (defaults to 4)
#
FLAGS="$FLAGS  --rarest_first_cutoff 1 "

# --report_hash_failures <arg>
#           whether to inform the user that hash failures occur.
#           They're non-fatal. (defaults to 0)
#
FLAGS="$FLAGS   --report_hash_failures 1 "


  $BTdownloadcurses $FLAGS  $TORRENT


==== snip =========




-- 
	T o m  M i t c h e l l 
	spam unwanted email.
	SPAM, good eats, and a trademark of  Hormel Foods.




More information about the users mailing list