You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by rj...@apache.org on 2006/11/19 14:49:09 UTC
svn commit: r476819 - in /tomcat/connectors/trunk/jk/native/common:
jk_lb_worker.c jk_lb_worker.h jk_util.c
Author: rjung
Date: Sun Nov 19 05:49:08 2006
New Revision: 476819
URL: http://svn.apache.org/viewvc?view=rev&rev=476819
Log:
Added another lb strategy: session based.
Contributed by Takayuki Kaneko.
This strategy does only make sense, if the sessions
are a much stronger indicator of load than requests.
One example is, if sessions are huge in memory and
load balancing should care about memory load and not cpu load.
Modified:
tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h
tomcat/connectors/trunk/jk/native/common/jk_util.c
Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c?view=diff&rev=476819&r1=476818&r2=476819
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Sun Nov 19 05:49:08 2006
@@ -55,6 +55,7 @@
JK_LB_METHOD_TEXT_REQUESTS,
JK_LB_METHOD_TEXT_TRAFFIC,
JK_LB_METHOD_TEXT_BUSYNESS,
+ JK_LB_METHOD_TEXT_SESSIONS,
NULL
};
@@ -798,6 +799,9 @@
p->worker->s->max_busy = p->worker->s->busy;
rec->s->busy++;
if (p->worker->lbmethod == JK_LB_METHOD_REQUESTS)
+ rec->s->lb_value += rec->s->lb_mult;
+ else if (p->worker->lbmethod == JK_LB_METHOD_SESSIONS &&
+ !sessionid)
rec->s->lb_value += rec->s->lb_mult;
else if (p->worker->lbmethod == JK_LB_METHOD_BUSYNESS)
rec->s->lb_value += rec->s->lb_mult;
Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h?view=diff&rev=476819&r1=476818&r2=476819
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h Sun Nov 19 05:49:08 2006
@@ -42,10 +42,12 @@
#define JK_LB_METHOD_REQUESTS (1)
#define JK_LB_METHOD_TRAFFIC (2)
#define JK_LB_METHOD_BUSYNESS (3)
+#define JK_LB_METHOD_SESSIONS (4)
#define JK_LB_METHOD_DEF (JK_LB_METHOD_REQUESTS)
#define JK_LB_METHOD_TEXT_REQUESTS ("Request")
#define JK_LB_METHOD_TEXT_TRAFFIC ("Traffic")
#define JK_LB_METHOD_TEXT_BUSYNESS ("Busyness")
+#define JK_LB_METHOD_TEXT_SESSIONS ("Sessions")
#define JK_LB_METHOD_TEXT_DEF (JK_LB_METHOD_TEXT_REQUESTS)
#define JK_LB_LOCK_OPTIMISTIC (1)
#define JK_LB_LOCK_PESSIMISTIC (2)
Modified: tomcat/connectors/trunk/jk/native/common/jk_util.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_util.c?view=diff&rev=476819&r1=476818&r2=476819
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_util.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_util.c Sun Nov 19 05:49:08 2006
@@ -926,12 +926,14 @@
v = jk_map_get_string(m, buf, NULL);
if (!v)
return JK_LB_METHOD_DEF;
- else if (*v == 't' || *v == 'T' || *v == '1')
- return JK_LB_METHOD_TRAFFIC;
else if (*v == 'r' || *v == 'R' || *v == '0')
return JK_LB_METHOD_REQUESTS;
+ else if (*v == 't' || *v == 'T' || *v == '1')
+ return JK_LB_METHOD_TRAFFIC;
else if (*v == 'b' || *v == 'B' || *v == '2')
return JK_LB_METHOD_BUSYNESS;
+ else if (*v == 's' || *v == 'S' || *v == '3')
+ return JK_LB_METHOD_SESSIONS;
else
return JK_LB_METHOD_DEF;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org