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.host=10.32.25.251
worker.worker1.route=node1
worker.worker1.reference=worker.template
worker.list=worker2
# worker 1
worker.worker2.route=node2
worker.worker2.host=10.32.25.252
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\dev.com\Logs\ajpconfisapi_redirect.log
# Log level (debug, info, warn, error or trace) #log_level=info log_level=warn
#log_level=debug log_filesize=20M
#log_rotationtime=86400
# Full path to the workers.properties file
worker_file=C:\YB\Shared\dev.com\ajpconfig\workers.properties
# Full path to the uriworkermap.properties file
worker_mount_file=C:\YB\Shared\dev.com\ajpconfig\uriworkermap.properties
# Rewrite
rewrite_rule_file=C:\YB\Shared\dev.com\ajpconfig\\rewrite.properties
#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.
Regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org