0 Replies Latest reply on Jul 30, 2008 9:46 PM by jimyliu

    mod_jk workers un-balanced under load

    jimyliu

      Hi,

      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">