Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Feb 2001 09:54:38 -0800 (PST)
From:      John Polstra <jdp@polstra.com>
To:        hackers@freebsd.org
Cc:        julian@elischer.org
Subject:   Re: CVSup7.FreeBSD.org is back in service
Message-ID:  <200102021754.f12Hscu03043@vashon.polstra.com>
In-Reply-To: <3A79145A.39CF9671@elischer.org>
References:  <200101312315.f0VNFwR04246@vashon.polstra.com> <3A79145A.39CF9671@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <3A79145A.39CF9671@elischer.org>,
Julian Elischer  <julian@elischer.org> wrote:
> 
> I have the folowing suggestion for CVSup..
> the ability to specify several servers.
> Cvsup can have a quick exchange with each to inquire about load and check the
> latency and bandwidth
> and the last time updated, and choose the best....  
> Since you control both ends this is possible..

This is a frequently requested feature, but I've always been reluctant
to provide it.  Human nature being what it is, I'm afraid soon
everybody would have 15 servers listed in their supfiles.  So 15
servers would get hit on each update instead of just one.  It is
true that the load query wouldn't hit the servers nearly as hard as
an actual update.  But it would require forking a process at least.

(Yes, it could be done by creating a thread, but experience has shown
that to be a bad idea.  All you need is one client doing something
weird to trigger a bug in the server, and poof, the master server has
crashed.  It's a lot safer to isolate each client in its own process
as quickly as possible.)

Also, the loads on the mirrors I've observed vary erratically and
rapidly.  Servers can and do go from 20 clients to 3 clients in a
matter of seconds.  So the results of a load query 15 seconds ago
aren't all that valuable, nor are figures representing load averages
over time.

I would rather leave load balancing out of the CVSup protocol and have
it implemented by other means.  The folks who run the mirrors in Japan
have a very nice setup which uses SNMP to query the number of active
CVSup clients on each mirror.  They don't do automatic load balancing
with it currently, but they make some nice graphs available on the web
for people to use.  (Sorry, I don't remember the URL.)

John
-- 
  John Polstra                                               jdp@polstra.com
  John D. Polstra & Co., Inc.                        Seattle, Washington USA
  "Disappointment is a good sign of basic intelligence."  -- Chögyam Trungpa



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102021754.f12Hscu03043>