Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Apache: Users

lbmethods in mod_proxy_balancer

 

 

Apache users RSS feed   Index | Next | Previous | View Threaded


awankowicz at gmail

May 29, 2008, 2:38 PM

Post #1 of 9 (209 views)
Permalink
lbmethods in mod_proxy_balancer

Hi,

module mod_proxy_balancer can make decision basing on volume of traffic
or number of requests. How, for example, this volume is counted? Is it
counted from the time server starts (hope not) or maybe it is counted in
10 minutes period (after 10 minutes values read and transfered are reset
and counted from zero)? Where/how can I change this time?

Regards
Andrew

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe[at]httpd.apache.org
" from the digest: users-digest-unsubscribe[at]httpd.apache.org
For additional commands, e-mail: users-help[at]httpd.apache.org


jim at jaguNET

May 30, 2008, 5:50 AM

Post #2 of 9 (191 views)
Permalink
Re: lbmethods in mod_proxy_balancer [In reply to]

On May 29, 2008, at 5:38 PM, andrzej wrote:

> Hi,
>
> module mod_proxy_balancer can make decision basing on volume of
> traffic or number of requests. How, for example, this volume is
> counted? Is it counted from the time server starts (hope not) or
> maybe it is counted in 10 minutes period (after 10 minutes values
> read and transfered are reset and counted from zero)? Where/how can
> I change this time?
>

It is counted after each request... that each, the counters are
updated with info after each request.

They are not "reset" or "aged" for a number of reasons:

1. The overhead associated with it. Esp something like what
is done in mod_jk...
2. Validity: LBs try to maintain an overall average. If
you occasionally "reset" then you lose knowledge of
the past and so you are only averaging over smaller
time-periods... It's like the difference in tracking
stocks short-term rather than long-term. LB is a long
term action.

The only reason I can see for some kind of "reset" is to
avoid overflow, but even then you don't want to "reset" to
0 but rather do a uniform normalization.

Why is the current behavior bad and why do you want to change
it?


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe[at]httpd.apache.org
" from the digest: users-digest-unsubscribe[at]httpd.apache.org
For additional commands, e-mail: users-help[at]httpd.apache.org


jessh at ptc

May 30, 2008, 6:10 AM

Post #3 of 9 (191 views)
Permalink
Re: lbmethods in mod_proxy_balancer [In reply to]

Jim Jagielski wrote:
> On May 29, 2008, at 5:38 PM, andrzej wrote:
>> Hi,
>>
>> module mod_proxy_balancer can make decision basing on volume of
>> traffic or number of requests. How, for example, this volume is
>> counted? Is it counted from the time server starts (hope not) or
>> maybe it is counted in 10 minutes period (after 10 minutes values
>> read and transfered are reset and counted from zero)? Where/how can
>> I change this time?
> It is counted after each request... that each, the counters are
> updated with info after each request.
>
> They are not "reset" or "aged" for a number of reasons:
>
> 1. The overhead associated with it. Esp something like what
> is done in mod_jk...
> 2. Validity: LBs try to maintain an overall average. If
> you occasionally "reset" then you lose knowledge of
> the past and so you are only averaging over smaller
> time-periods... It's like the difference in tracking
> stocks short-term rather than long-term. LB is a long
> term action.
>
> The only reason I can see for some kind of "reset" is to
> avoid overflow, but even then you don't want to "reset" to
> 0 but rather do a uniform normalization.
>
> Why is the current behavior bad and why do you want to change
> it?
I've not experimented with it, but the session-based load balancing in
the latest mod_jk's looks attractive. Most AJP traffic is session based
and a good amount of the time ends up requiring session affinity (rather
than using Terracotta or some such). In this scenario, it is possible
to end up with a lot more sessions stuck on one node than others and any
way of combatting this without a nasty performance impact is of interest.

--
Jess Holle


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe[at]httpd.apache.org
" from the digest: users-digest-unsubscribe[at]httpd.apache.org
For additional commands, e-mail: users-help[at]httpd.apache.org


awankowicz at gmail

May 30, 2008, 6:20 AM

Post #4 of 9 (189 views)
Permalink
Re: lbmethods in mod_proxy_balancer [In reply to]

Jim Jagielski pisze:
>
> On May 29, 2008, at 5:38 PM, andrzej wrote:
>
>> Hi,
>>
>> module mod_proxy_balancer can make decision basing on volume of
>> traffic or number of requests. How, for example, this volume is
>> counted? Is it counted from the time server starts (hope not) or maybe
>> it is counted in 10 minutes period (after 10 minutes values read and
>> transfered are reset and counted from zero)? Where/how can I change
>> this time?
>>
>
> It is counted after each request... that each, the counters are
> updated with info after each request.
>
> They are not "reset" or "aged" for a number of reasons:
>
> 1. The overhead associated with it. Esp something like what
> is done in mod_jk...
> 2. Validity: LBs try to maintain an overall average. If
> you occasionally "reset" then you lose knowledge of
> the past and so you are only averaging over smaller
> time-periods... It's like the difference in tracking
> stocks short-term rather than long-term. LB is a long
> term action.
>
> The only reason I can see for some kind of "reset" is to
> avoid overflow, but even then you don't want to "reset" to
> 0 but rather do a uniform normalization.
>
> Why is the current behavior bad and why do you want to change
> it?
>
>
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP Server Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: users-unsubscribe[at]httpd.apache.org
> " from the digest: users-digest-unsubscribe[at]httpd.apache.org
> For additional commands, e-mail: users-help[at]httpd.apache.org
>
>

Hi,

thanks for answer. This behavior isn't bad. I'm writing my MSc project
and when I've told my DSc that this counters are not reseting he ordered
me to better known the software. I don't know how I convince him, he was
so sure that this values are measured in periods...

Regards
Andrew

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe[at]httpd.apache.org
" from the digest: users-digest-unsubscribe[at]httpd.apache.org
For additional commands, e-mail: users-help[at]httpd.apache.org


ryan.murray at elementn

May 30, 2008, 6:25 AM

Post #5 of 9 (190 views)
Permalink
RE: lbmethods in mod_proxy_balancer [In reply to]

> -----Original Message-----
> From: Jim Jagielski [mailto:jim[at]jaguNET.com]
> Sent: Friday, May 30, 2008 3:51 PM
> To: users[at]httpd.apache.org
> Subject: Re: [users[at]httpd] lbmethods in mod_proxy_balancer
>
>
> On May 29, 2008, at 5:38 PM, andrzej wrote:
>
> > Hi,
> >
> > module mod_proxy_balancer can make decision basing on volume of
> > traffic or number of requests. How, for example, this volume is
> > counted? Is it counted from the time server starts (hope not) or
> > maybe it is counted in 10 minutes period (after 10 minutes values
> > read and transfered are reset and counted from zero)? Where/how can
> > I change this time?
> >
>
> It is counted after each request... that each, the counters are
> updated with info after each request.
>
> They are not "reset" or "aged" for a number of reasons:
>
> 1. The overhead associated with it. Esp something like what
> is done in mod_jk...
> 2. Validity: LBs try to maintain an overall average. If
> you occasionally "reset" then you lose knowledge of
> the past and so you are only averaging over smaller
> time-periods... It's like the difference in tracking
> stocks short-term rather than long-term. LB is a long
> term action.
>
> The only reason I can see for some kind of "reset" is to
> avoid overflow, but even then you don't want to "reset" to
> 0 but rather do a uniform normalization.
>
> Why is the current behavior bad and why do you want to change
> it?
>

In fact for many (if not most) monitoring and management situations, moving
averages are more useful than infinitely historical data. If load patterns
may change over time, it is often reasonable (or necessary) that recent
traffic has significantly more weight than past traffic. Normalization is
an easy way to achieve this and I doubt even normalizing the counters used
for the LB decisions on a 1 minute basis could have any appreciable impact
on performance of the overall server while making the LB behavior more
predictable based on "current" traffic patterns.

IMHO LB is not at all a long-term action - if my LB worked like current
world stock market I'd return it to the vendor! Knowing that _over time_ my
"n" clustered servers did the same amount of work is not nearly as useful as
knowing that _right now_ my 2 servers are doing the same amount of work.
I'm not worries about making my servers "wear out" at the same time ;)


Internal Virus Database is out-of-date.
Checked by AVG.
Version: 7.5.519 / Virus Database: 269.22.8/1362 - Release Date: 4/6/2008
11:12 AM



---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe[at]httpd.apache.org
" from the digest: users-digest-unsubscribe[at]httpd.apache.org
For additional commands, e-mail: users-help[at]httpd.apache.org


jessh at ptc

May 30, 2008, 6:35 AM

Post #6 of 9 (189 views)
Permalink
Re: lbmethods in mod_proxy_balancer [In reply to]

Ryan Murray wrote:
> IMHO LB is not at all a long-term action - if my LB worked like current
> world stock market I'd return it to the vendor! Knowing that _over time_ my
> "n" clustered servers did the same amount of work is not nearly as useful as
> knowing that _right now_ my 2 servers are doing the same amount of work.
> I'm not worries about making my servers "wear out" at the same time ;)
>
It depends. If you're load balancing a new request that will end up
using a session and using sticky sessions, then this is a pretty
long-term action -- since all subsequent requests from the given session
will go to the same endpoint. If you're not dealing with sticky
sessions, then load balancing is a short-term action except in cases
where you're dealing with enormous requests or responses.

--
Jess Holle


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe[at]httpd.apache.org
" from the digest: users-digest-unsubscribe[at]httpd.apache.org
For additional commands, e-mail: users-help[at]httpd.apache.org


ryan.murray at elementn

May 30, 2008, 6:55 AM

Post #7 of 9 (190 views)
Permalink
RE: lbmethods in mod_proxy_balancer [In reply to]

>
> Ryan Murray wrote:
> > IMHO LB is not at all a long-term action - if my LB worked like current
> > world stock market I'd return it to the vendor! Knowing that _over
> time_ my
> > "n" clustered servers did the same amount of work is not nearly as
> useful as
> > knowing that _right now_ my 2 servers are doing the same amount of work.
> > I'm not worries about making my servers "wear out" at the same time ;)
> >
> It depends. If you're load balancing a new request that will end up
> using a session and using sticky sessions, then this is a pretty
> long-term action -- since all subsequent requests from the given session
> will go to the same endpoint. If you're not dealing with sticky
> sessions, then load balancing is a short-term action except in cases
> where you're dealing with enormous requests or responses.
>
> --
> Jess Holle

I certainly agree the 2 situations are different in terms the net affect on
how load is added but in either case, the load on the server yesterday is
irrelevant to LB decisions made today in the vast majority of applications.
For many (I would guess most) real world work loads, including many stick
session scenarios, having the ability to bias decisions based on "current"
traffic patterns is extremely useful

I would suggest if one has load patterns that are extremely variable you
really want some quasi-realtime knowledge of the actual processing load on
each backend to make the "ideal" LB decision for that moment.

Hey maybe if you are being billed by the bandwidth of each individual node
then the balancing by traffic option is the most useful but even this needs
normalization over time to be relevant.

In any case it's all just MHO from my humble experince!

Cheers!

Internal Virus Database is out-of-date.
Checked by AVG.
Version: 7.5.519 / Virus Database: 269.22.8/1362 - Release Date: 4/6/2008
11:12 AM



---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe[at]httpd.apache.org
" from the digest: users-digest-unsubscribe[at]httpd.apache.org
For additional commands, e-mail: users-help[at]httpd.apache.org


jim at jaguNET

May 30, 2008, 6:59 AM

Post #8 of 9 (189 views)
Permalink
Re: lbmethods in mod_proxy_balancer [In reply to]

On May 30, 2008, at 9:25 AM, Ryan Murray wrote:
>
> In fact for many (if not most) monitoring and management situations,
> moving
> averages are more useful than infinitely historical data. If load
> patterns
> may change over time, it is often reasonable (or necessary) that
> recent
> traffic has significantly more weight than past traffic.

This implies some knowledge of what has gone before and the
timeframe associated with that. Not only that, but when you start
bothering about short-term reactions, you can easily screw up
the long-term results.

Instant-by-instant LB is certainly a "viable" concept, but
longer-termed averaging is a more sustainable solution, imo.


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe[at]httpd.apache.org
" from the digest: users-digest-unsubscribe[at]httpd.apache.org
For additional commands, e-mail: users-help[at]httpd.apache.org


jim at jaguNET

May 30, 2008, 7:02 AM

Post #9 of 9 (189 views)
Permalink
Re: lbmethods in mod_proxy_balancer [In reply to]

On May 30, 2008, at 9:10 AM, Jess Holle wrote:

> Jim Jagielski wrote:
>> On May 29, 2008, at 5:38 PM, andrzej wrote:
>>> Hi,
>>>
>>> module mod_proxy_balancer can make decision basing on volume of
>>> traffic or number of requests. How, for example, this volume is
>>> counted? Is it counted from the time server starts (hope not) or
>>> maybe it is counted in 10 minutes period (after 10 minutes values
>>> read and transfered are reset and counted from zero)? Where/how
>>> can I change this time?
>> It is counted after each request... that each, the counters are
>> updated with info after each request.
>>
>> They are not "reset" or "aged" for a number of reasons:
>>
>> 1. The overhead associated with it. Esp something like what
>> is done in mod_jk...
>> 2. Validity: LBs try to maintain an overall average. If
>> you occasionally "reset" then you lose knowledge of
>> the past and so you are only averaging over smaller
>> time-periods... It's like the difference in tracking
>> stocks short-term rather than long-term. LB is a long
>> term action.
>>
>> The only reason I can see for some kind of "reset" is to
>> avoid overflow, but even then you don't want to "reset" to
>> 0 but rather do a uniform normalization.
>>
>> Why is the current behavior bad and why do you want to change
>> it?
> I've not experimented with it, but the session-based load balancing
> in the latest mod_jk's looks attractive.

I plan on, once 2.2.9 is out, adding my bytime algo before
looking at whether bybusyness and/or bysession is viable for
httpd. ;)

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe[at]httpd.apache.org
" from the digest: users-digest-unsubscribe[at]httpd.apache.org
For additional commands, e-mail: users-help[at]httpd.apache.org

Apache users RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.