Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 41692 invoked from network); 23 Apr 2009 12:46:15 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 23 Apr 2009 12:46:15 -0000 Received: (qmail 98801 invoked by uid 500); 23 Apr 2009 12:46:13 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 98714 invoked by uid 500); 23 Apr 2009 12:46:13 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 98705 invoked by uid 99); 23 Apr 2009 12:46:13 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Apr 2009 12:46:13 +0000 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: 76.96.27.212 is neither permitted nor denied by domain of jim@jagunet.com) Received: from [76.96.27.212] (HELO QMTA14.emeryville.ca.mail.comcast.net) (76.96.27.212) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Apr 2009 12:46:04 +0000 Received: from OMTA10.emeryville.ca.mail.comcast.net ([76.96.30.28]) by QMTA14.emeryville.ca.mail.comcast.net with comcast id iyoA1b0070cQ2SLAE0ll8g; Thu, 23 Apr 2009 12:45:45 +0000 Received: from [192.168.199.10] ([69.251.84.64]) by OMTA10.emeryville.ca.mail.comcast.net with comcast id j0lj1b0051PGofZ8W0lkBP; Thu, 23 Apr 2009 12:45:45 +0000 Message-Id: From: Jim Jagielski To: dev@httpd.apache.org In-Reply-To: <49EEE05A.5090304@gmail.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.3) Subject: Re: mod_proxy/mod_proxy_balancer bug Date: Thu, 23 Apr 2009 08:45:41 -0400 References: <49E4FC52.9010207@ptc.com> <49E4FEE5.7020007@ptc.com> <49E8E67A.1080804@kippdata.de> <49EDEDF4.7030604@kippdata.de> <49EEE05A.5090304@gmail.com> X-Mailer: Apple Mail (2.930.3) X-Virus-Checked: Checked by ClamAV on apache.org On Apr 22, 2009, at 5:16 AM, jean-frederic clere wrote: > Rainer Jung wrote: >> On 20.04.2009 15:57, Jim Jagielski wrote: >>> On Apr 17, 2009, at 4:28 PM, Rainer Jung wrote: >>>> The same type of balancing decision algorithm was part of mod_jk >>>> between >>>> 1.2.7 and 1.2.15. I always had problems to understand, how it >>>> exactly >>>> behaves in case some workers are out of order. The algorithm is >>>> interesting, but I found it very hard to model its mathematics into >>>> formulas. >>>> >>>> We finally decided to switch to something else. For request, >>>> traffic or >>>> session based balancing we do count items (requests, bytes or new >>>> sessions), and divide the counters by two once a minute. That way >>>> load >>>> that happened in the past does count less. >>>> >>>> Furthermore a worker that was dead or deactivated some time gets >>>> the >>>> biggest current load number when being reactivated, so that it >>>> starts a >>>> smooth as possible. >>>> >>>> I expect porting this to mod_proxy in trunk will be easy, but I'm >>>> not >>>> sure what experience others have with the fairness of balancing >>>> in case >>>> you add dynamics to the workers (errors and administrative >>>> downtimes). >>>> >>> I have some ideas on the "soft start" when a errored-out worker >>> returns (or when a new worker is added *hint* *hint*) that I've >>> been playing with. The main thing, for me at least, is low overhead, >>> even if it means sacrificing accuracy to the nth decimal place... >>> I used to think aging was not something we wanted to do in >>> mod_proxy, but mostly it was based on complex aging, and the >>> overhead associated with that. But I have some ideas there as >>> well. >>> >>> The main thing I've been working on is trying to do all these >>> things in trunk in a way that is "easily" backportable to 2.2... >> So that makes my answer to JFC partially obsolete. Sorry I read your >> post later. > > Yep I have also experimented in the area... We need to do something. > +1... Maybe I'll branch off a 2.2-proxy branch as a sandbox to play around in... Then we can front-port to trunk and use the sandbox as the backport source :)