Date: Tue, 19 Jun 2001 00:31:09 -0700 From: "Robert L Sowders" <rsowders@usgs.gov> To: Calvin NG <calvinng@brel.com> Cc: Fred Condo <fred@condo.chico.ca.us>, owner-freebsd-stable@FreeBSD.ORG, stable@FreeBSD.ORG Subject: Re: Benchmarking CVSup Message-ID: <OF7F3A9C08.CF9C02B7-ON88256A70.00270BEF@wr.usgs.gov>
next in thread | raw e-mail | index | archive | help
Building on the work of others.
This should answer the intent of your question.
Try these to get the fastest mirror regardless of hops. Sometimes you can
get faster transfers with more hops. It'll take about 15 seconds to give
results.
#!/bin/sh
for i in `jot 16`
do
echo -n "cvsup${i} "
traceroute -n cvsup${i}.freebsd.org 2>&1 | tail -1
done | sort +7 -n
Or if you don't care about all the extraneous info here's another way.
I limited traceroute to 20 hops (if it's further than that just give it
up.)
#!/bin/sh
for i in `jot 16`
do
MS=`traceroute -n -m 20 cvsup${i}.freebsd.org 2>&1 |\
tail -1 | cut -f5,6 -d" "`
echo " "
echo "cvsup${i} $MS "
done | sort +1 -n
These are inefficient/slow, being sequential, a faster method would open
multi processes and do them at the same time. The fastest will be at the
top but if it runs into a site that answer with a * ttl on the last hop it
will be at the top. If you want to build something in to catch this go
ahead. But hey, it's not for brain surgery or anything.
Calvin NG <calvinng@brel.com>
Sent by: owner-freebsd-stable@FreeBSD.ORG
06/17/2001 08:24 PM
To: Fred Condo <fred@condo.chico.ca.us>
cc: stable@FreeBSD.ORG
Subject: Re: Benchmarking CVSup
Greetings,
hey, that only count the hops, I would tot avg ping response
would be more interesting, so how about inside the loop, do
echo -n "cvsup${i} "
ping -c 10 cvsup${i}.freebsd.org | tail -1
Regards,
/calvin
lines with :> are quotes from Fred Condo's email
:> On Sat, Jun 16, 2001 at 06:57:51AM -0400, Chris BeHanna wrote:
:> > On Sat, 16 Jun 2001, Mike Meyer wrote:
:> >
:> > > Chris BeHanna <behanna@zbzoom.net> types:
:> > > > There's probably a better way to do this (e.g., sort the output
in
:> > > > increasing order of hopcount):
:> > >
:> > > Yes, but why resort to
:> > >
:> > > > #!/usr/bin/perl
:> > >
:> > > when you can just do:
:> > >
:> > > for i in `jot 16`
:> > > do
:> > > echo -n "cvsup${i} "
:> > > traceroute -n cvsup${i}.freebsd.org 2>&1 | wc -l
:> > > done | sort +1 -n
:> >
:> > I quote: "There's probably a better way to do this...." :-)
:> >
:> > > Getting the correct hop count is left as an exercise for the
reader.
:> >
:> > -traceroute -n cvsup${i}.freebsd.org 2>&1 | wc -l
:> > +expr `traceroute -n cvsup${i}.freebsd.org 2>&1 | wc -l` - 1
:>
:> or this:
:> traceroute -n cvsup${i}.freebsd.org 2>/dev/null | wc -l
:>
:> >
:> > Works great. Thanks!
:> >
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?OF7F3A9C08.CF9C02B7-ON88256A70.00270BEF>
