Phi-Long LE wrote:
Ian,

reading optional directives you should probably use the worker.xxx.method, its value is Request, session, traffic or busyness

Default is request. For most use cases this should work best.

How does it work?

1) Multiple Web server instances do not share any information about load. So they decide completely independently.

2) request method: mod_jk counts the requests going to each worker and whenever a request has no session associated it chooses the worker with the smallest number. The first request after every 60 seconds will trigger a maintenance cycle, which divides all counters by 2, such that historic data gets less important. If you use load factors, the counters get adjusted by the load factors. Bigger load factors will result in bigger load (and smaller increments to the counters).

3) If a worker comes back after error, it will start with the biggest of the actual counters, to prevent it from getting a request storm.

4) busyness method: this looks at the number of request which are actually in the middle of processing. Could be OK for download sites, but usually does not work that well. Especially bad, if your side is not high traffic.

5) traffic: the same as request method, but counts bytes transferred instead of requests done. The bytes are only added after the requests have finished, so if you have long running downloads, the byte counters will ot change for a long time and then change a lot.

Having multiple instances work independently should be no problem, if statistics count: this means: you have a lot of traffic, and the percentage of requests without sessions is not too small. In other words: you have a lot of users and the sessions are not taking to long.

Load balancing might run into asymmetries, if you have very long lasting in house sessions and very different types of users. Then some heavily used sessions might produce the most load.

On the other hand: as long as you only operate two backends, the quality of the load balancing might not be very important, because out of availybility considerations usually one of the two nodes should be able to handle the maximum load. :)

Regards,

Rainer


Le 21/06/2007 16:00, Ian Buzer a écrit :
Thanks for that Rainer.

How about when a new session comes in? Does mod_jk obtain information from
each Tomcat about its current load, or does it base it on the number of
requests that that particular instance of mod_jk has forwarded to Tomcat? If
it's the latter, is this likely to cause problems?

Thanks
Ian



-----Original Message-----
From: Rainer Jung [mailto:[EMAIL PROTECTED]
Sent: 21 June 2007 15:50
To: Tomcat Users List
Subject: Re: Two IIS web servers

Yes, this will work. The only bad thing will be, that the requests
belonging to one session will be logged partially on both of the IIS
instances, so if you try to debug a problem, you always need to look at
both IIS servers.

Stickyness works like this:

- you set a unique jvmRoute in the engine element of server.xml
- Tomcat appends the jvmRoute to each sessionid it generated, with a
dot
as a separator
- mod_jk load balancer looks for a session id whenever it receives a
request and strips of the routing string behind the dot
- if mod_jk finds such a routing strings, the load balancer searches
for
a worker with the same name or with a route attribute with the same
value and sends it there

So mod_jk does not hold any state information about where which session
lies. Every request carries the information with it.

Regards,

Rainer

Ian Buzer wrote:
Hi,

I currently have one IIS server balancing requests to two Tomcats
using JK
1.2. I am using JK to provide sticky sessions and all is working
well.
I would like to be able share requests across a second IIS server,
however I
am unable to create sticky sessions at the web server level so
requests
could go to either web server.

My question is, if I point both IIS servers to both Tomcats, will
this work
correctly? Will the sessions still get directed to the correct
Tomcat, and
will the two JKs still be able to choose the best worker for new
sessions?
Many thanks
Ian

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to