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