Harsimranjit singh Kler wrote:
Hi
Yes , it seems wrong configuration .New one is:
worker.list=balancer
#For tomcat 1
worker.worker1.type=ajp13
worker.worker1.host=10.58.116.20
worker.worker1.port=8009
worker.worker1.lbfactor=1
#For tomcat 2
worker2.worker2.type=ajp13
worker.worker2.host=10.58.116.20
worker.worker2.port=8010
worker.worker2.lbfactor=1
#For tomcat 3
worker.worker3.type=ajp13
worker.worker3.host=10.71.10.231
worker.worker3.port=8011
worker.worker3.lbfactor=1
worker.balancer.type=lb
worker.balancer.balance_workers=worker1,worker2,worker3
worker.balancer.sticky_session=1
Is this fine Now?
One more thing i observe .When i changing with with maxthreads.Httpd status
following o/p
Apache Server Status for Server Version: Apache/2.2.17 (Unix) DAV/2
mod_jk/1.2.30 Server Built: Apr 19 2011 08:35:28
------------------------------
Current Time: Tuesday, 03-May-2011 02:13:57 IST Restart Time: Tuesday,
03-May-2011 01:56:50 IST Parent Server Generation: 0 Server uptime: 17
minutes 7 seconds Total accesses: 16534 - Total Traffic: 7.2 MB CPU Usage:
u3.4 s1.79 cu0 cs0 - .505% CPU load 16.1 requests/sec - 7.2 kB/second - 459
B/request 1 requests currently being processed, 499 idle workers
.
.
501 requests currently being processed, 149 idle workers
Why always 501 requests processed??.i mean if i increase number of
concurrent requests on apache loadbalancer this value never increses beyond
500?
149 (i.e idle worker increses)change if i increase maxspareThreads from
worker MPM configurations.
I am not really familiar with the Apache "worker MPM" and its exact ramifications in the
way that mod_jk handles the number of connections to Tomcat.
So I don't know.
But the limit of 500 requests being processed, looks suspiciously the same as the
maxThreads value of /one/ Tomcat.
So maybe it is not really balancing the load, but sending it all to one Tomcat
only.
This may have something to do with the following setting :
> worker.balancer.sticky_session=1
and with the way in which your test application is working (with regard to
sessions).
You say that you are issuing 4 requests in sequence. Are those requests part of a session
at the Tomcat level ? Does your test tool take this into account ?
I think you should really (re-)read this page :
http://httpd.apache.org/docs/2.2/mod/worker.html
and this page :
http://tomcat.apache.org/connectors-doc/reference/workers.html
(see in particular "connection_pool_size")
and use logic to determine what may be happening.
Also, for us to really help you, there are too many unknowns in your test setup (for
example, we do not know your test application).
To eat an elephant, do it a little bit at a time (African proverb).
So let me suggest the following plan, to simplify the analysis :
1) at the Tomcat level, create one static html page inside your webapp
(for example : tomcat_dir/webapps/my-webapp/test.html)
2) /from another server/, use the Apache "ab" program (*) to issue a number of test
requests to the front-end load-balancer, for this static page
3) note the settings and the results
4) re-do the same test with other settings, changing one setting at a time
If you see the same behaviour as with your own test application, then indeed there is
something strange going on, worthy of more analysis.
If you do not see the same behaviour, then you know that what you are seeing has something
to do with your test application. Then you need to figure out what is different between
your test application, and a standard request for a static page.
(*) see : http://httpd.apache.org/docs/2.2/programs/ab.html
Example test :
/usr/sbin/ab -n 150 -c 50 "http://frontend.company.com/my-webapp/test.html"
(to issue a total of 150 requests, with 50 in parallel; in other words, 50 ab instances
will issue 3 requests each)
and then change gradually to
/usr/sbin/ab -n 3000 -c 1000 "http://frontend.company.com/my-webapp/test.html"
(to issue a total of 3000 requests, with 1000 in parallel; in other words, 1000 ab
instances will issue 3 requests each)
Run this from another server, so that running "ab" itself does not interfere with the
resources of your load-balancer and tomcat hosts.
why no error logs if something wrong configured in worker.properities?
1) unknown directives are just being ignored. Maybe if you set the log level very high
(e.g. debug) it will print a warning.
2) the 2 directives
worker.list=balancer
worker.list=worker1
were not illegal. They just add up, so you end up with a worker list containing
"balancer,worker1".
on the other hand, you had
worker.balancer.balance_workers=worker1,worker2,worker3
So you ended up with worker1 in both lists : the non-balanced list of mod_jk itself (2
workers : worker1 and balancer); and the internal list of the balancer worker. That was
inconsistent and may be the cause for the strange behaviour you were seeing.
On Wed, Apr 27, 2011 at 8:57 PM, Harsimranjit singh Kler <
simran...@gmail.com> wrote:
Hi
I need some observations on loadbalancer with mod jk, such as
How to check utilization of each httpd workers? How to check what is the
number of connections active on the each separate
Tomcats when there is load?.How i can increase response time?AJP port
should unique in worker.properities?
Whenever i am increasing concurrent requests on LB response time decreases?
Using apache 2.2.17+modjk1.2.31+tomcat 5.5.27
regards
harsimran
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org