mod_jk workers un-balanced under load
jimyliu Jul 30, 2008 9:46 PMHi,
I am doing a performance test with our application. The test was run with 1,2,4,8,16,32,64,128,200,256 users and I collect the page throughput through Load Runner.
My configuration:
One apache web server (2.2.9) with mod_jk 1.2.26 (on Red Hat Linux)
Two application servers. EAP 4.2 Each run with two JBoss instances.
So the apache's workers.properties file point to these 4 JBoss instances.
Everything went well until I ran with 256 virtual users. I found most(98%) of the load went to single JBoss instance. So the throughput went down a lot.
I also view the mod_jk status from browser, same thing. All load went to only one worker.
Any idea or suggestion ?
Jimy
Following are the workers.properties and ajp1.3 setting.
workers.properties file: worker.list=loadbalancer,status worker.node0.port=8009 worker.node0.host=192.168.11.31 worker.node0.type=ajp13 worker.node0.lbfactor=1 worker.node0.connect_timeout=10000 worker.node0.prepost_timeout=10000 worker.node0.socket_timeout=10 worker.node0.connection_pool_timeout=1200 worker.node1.port=8109 worker.node1.host=192.168.11.31 worker.node1.type=ajp13 worker.node1.lbfactor=1 worker.node1.connect_timeout=10000 worker.node1.prepost_timeout=10000 worker.node1.socket_timeout=10 worker.node1.connection_pool_timeout=1200 worker.node2.port=8009 worker.node2.host=192.168.11.32 worker.node2.type=ajp13 worker.node2.lbfactor=1 worker.node2.connect_timeout=10000 worker.node2.prepost_timeout=10000 worker.node2.socket_timeout=10 worker.node2.connection_pool_timeout=1200 worker.node3.port=8109 worker.node3.host=192.168.11.32 worker.node3.type=ajp13 worker.node3.lbfactor=1 worker.node3.connect_timeout=10000 worker.node3.prepost_timeout=10000 worker.node3.socket_timeout=10 worker.node3.connection_pool_timeout=1200 worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=node0,node1,node2,node3 worker.loadbalancer.sticky_session=1 worker.status.type=status This is one of the AJP setting in server.xml in JBoss: <Connector port="8009" address="${jboss.bind.address}" protocol="AJP/1.3" maxThreads="400" connectionTimeout="10000" emptySessionPath="true" enableLookups="false" redirectPort="8443" /> <Engine name="jboss.web" defaultHost="localhost" jvmRoute="node0">