On Mon, 29 Oct 2007 16:27:49 -0400 Robert Mela <[EMAIL PROTECTED]> wrote:
> > When mongrel was working, it should send the reply back to LSWS > before closing the socket. > > There's a string prepared for the purpose in mongre.rb > > ERROR_503_RESPONSE="HTTP/1.1 503 Service Unavailable\r\n\r\nBUSY".freeze > > It's a one-liner to send that to the socket before calling close. No, that's not the best way to do this. Think for a minute. Mongrel is overloaded. It's having a hard time sending data. Now you want it to waste more time sending data? The general practice that works best is when a server is overloaded it aborts connections it can't handle in order to get some free time to service more requests. This way existing pending requests get some service and in a load balancing situation the server can move on to the next available backend. The alternative in trying to handle all requests, even with small responses, will mean that nobody gets service. In reality, I bet that LSWS doesn't try to move on to the next backend when the connection is aborted. If you think about this also, it means that when LSWS is behaving as a proxy, and one of your backends goes down, then LSWS won't adapt and will instead complain to the user. A properly functioning proxy server that is behaving as a load balancer should try all servers possible several times until it either gets a response or has to give up because everything is down and/or it is overloaded as well. -- Zed A. Shaw - Hate: http://savingtheinternetwithhate.com/ - Good: http://www.zedshaw.com/ - Evil: http://yearofevil.com/ _______________________________________________ Mongrel-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/mongrel-users
