Re: mystery NCSA httpdproblems on gnn.com

Adam T. McClure (mcclurea@nag.cs.colorado.edu)
Mon, 30 Jan 1995 19:14:56 +0100


Chin Chee-Kai
> I suspect coming versions of browsers might want to take into account
> potentially heavily loaded servers (but otherwise still reachable
> network-wise) which may constantly have queues close to its
> maximum queue size, and should preempt its own connection request
> and attempt to retry the connection again (repeat for, say, 3 times
> before giving up).

I may be completely out there so don't yell at me if I don't know
what the heck I'm talking about, but...

How about upgrading httpd so that it has a range of ports that are
virtually dedicated to it. Like 10 or something so that from the
default port to ten greater are potentially reserved by httpd. When
a request comes in, httpd checks it's queue and if there's more than
five requests it re-establishes a connection on the next higher port #
and so on up to processing 55 conections at once (original 5 + 5*10 ports)
. Every time a connection is made with the server, the first packet back
will tell the client which port to talk to it on so that the queue can
change dynamically between requests. This would virtually elminate
dropped requests and would then be limited only by the number of ports
assigned and the capabilities of your hardware. This sort of system
could potentially handle the 10 hits/sec that Netscape/GNN/ et al have
been experiencing. It's more of a long-term solution to an immediate
problem, but it might be more flexible than building in specialized time
out mechanisms or something along those lines in the browser.

Doable??

-- 
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
Adam T. McClure    	Integrated Teaching & Learning project
mcclurea@colorado.edu	University of Colorado-Boulder

"When philosophy has grown beyond science, it is time to create a new science." --

"Any sufficiently advanced technology is indistinguishable from magic." -- Arthur C. Clarke _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ "