tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <>
Subject Re: problems with performance with IIS 7.5 and Tomcat Connector
Date Fri, 03 Feb 2012 07:32:59 GMT
On 02.02.2012 10:04, Alex Samad - Yieldbroker wrote:
> I have
> 2 x W2k8r2 + NLB (Network load balancing) + IIS 7.5 + Tomcat Plugin  =>  2 x RHEL
6.1 + Jboss 7 (I think). (not setup in JBoss cluster mode)
> We have a .net client that talks to the IIS and then onto Jboss.
> We have been running some tests on our new setup.
> When we run client to Jboss node (just 1), we can create 1000 connections very fast,
as in the client application open 1000 connections as fast as it cans and then starts to communicate
from there.
> When we point out client at IIS (we started with 200 connection) we are seeing problems.
> 1) IIS reports 200 connection starting up just about instantly

IIS reports or the redirector reports? Connections from client to IIS or 
from IIS to JBoss?

> 2) we have setup the virtual web site with 4 worker processes (as it's a 4 cpu machine),
we see 4 process and lots of threads start up
> 3) I can see in the ajp logs that the connector is starting up
> But on the jboss node, counting the 8009 connections it takes a very long time for the
connections to start up 2-3 every 3-4 seconds.

Even the first ones, or in addition to the fast 200 ones?

Note that the ISAPI redirector only starts a new backend connection if 
it needs one. There is no 1:1 relation between frontend and backend 
connections. Whenever a request arrives on a frontend connection, the 
redirector puts it on an available backend connection. If all of them 
are busy (waiting for responses), it creates a new backend connection 
until the pool limit is reached (which is 2000 in your case).

If opening a new connection is slow I'd expect there to be a network or 
backend problem. You could trace using wireshark and see, what actually 
takes time (whether it is waiting for packets from the backend, or 
connections break or whatever).

> Now it might be that I had logging on in debug mode .... I did try in info mode and seemed
to be just as bad.

Debug log is only useful to debug. It kills performance.

> This is my connector config....
> # Global Vars
> worker.maintain=60
> worker.list=jbclb
> # JBoss cluser
> worker.jbclb.type=lb
> worker.jbclb.balance_workers=worker1, worker2 worker.jbclb.sticky_session=true worker.jbclb.method=Request
> # Template for all worker threads
> worker.template.type=ajp13
> worker.template.port=8009
> worker.template.ping_mode=A
> worker.template.ping_timeout=30000
> worker.template.connection_pool_size=2000
> worker.template.connection_pool_minsize=100
> worker.template.socket_keepalive=true
> worker.list=worker1
> # worker 1
> worker.worker1.route=node1
> worker.worker1.reference=worker.template
> worker.list=worker2
> # worker 1
> worker.worker2.route=node2
> worker.worker2.reference=worker.template
> ISAPA config file
> # Configuration file for the Jakarta ISAPI Redirector
> # The path to the ISAPI Redirector Extension, relative to the website # This must be
in a virtual directory with execute privileges extension_uri=/jakarta/isapi_redirect.dll
> # Full path to the log file for the ISAPI Redirector log_file=C:\YB\Local\\Logs\ajpconfisapi_redirect.log
> # Log level (debug, info, warn, error or trace) #log_level=info log_level=warn #log_level=debug
> #log_rotationtime=86400
> # Full path to the file worker_file=C:\YB\Shared\\ajpconfig\
> # Full path to the file worker_mount_file=C:\YB\Shared\\ajpconfig\
> # Rewrite
> rewrite_rule_file=C:\YB\Shared\\ajpconfig\\
> #uri_select=proxy
> The performance so far of the connector seems to be rather bad, I am presuming it something
I have setup, cause 200 connections shouldn't be that hard to handle.

What do you mean by "bad performance":

- response time without load
- response times under load
- maximum throughput in requests per second
- something else?

Usually performance problems more often come from the web apps. You 
could take a thread dump of JBoss while inducing load, to see what's 
happening there. Of course if the same performance measurement shows no 
problem using direct access, then we are back talking about the redirector.

> I am going to turn logging down to warn and see what happens.

... did info logging reveal anything interesting?

> I have noticed during this testing that when the connector crashes and it seems to do
that quite regularly I have to stop and restart all of IIS not just the virtual site I attached
the connector to.

OK, that's something else and it seems the redirector does not really 
work well with IIS 7.5. I hope Tim or Mladen can comment.



To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message