2 Replies Latest reply on Mar 15, 2014 8:19 PM by dpasiuk

    Performance problem in using JBoss EAP 6 with AJP

      Hi,

       

           We are performing load test with an application deployed in JBoss EAP 6.  We access the application via Apache Web Servers which connect to the JBoss EAP6 using mod-jk.

       

           No problem was found until we have increased the number of virtual user to ~100, the mod-jk shows the following error and failover to the second node,

       

      [Mon Sep 16 19:29:12 2013][26516:209663744] [error] ajp_send_request::jk_ajp_common.c (1507): (node1) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=110)

      [Mon Sep 16 19:29:12 2013][26516:283092736] [error] ajp_connect_to_endpoint::jk_ajp_common.c (957): (node1) cping/cpong after connecting to the backend server failed (errno=110)

       

           According to the access log in the Jboss EAP6, no HTTP request is processed longer than 1 seconds but the access log in the Web Server showed some HTTP request took more than 10 seconds.

       

           The problem couldn't be solved even we have increased the  max-threads and max-connections.

       

              <subsystem xmlns="urn:jboss:domain:threads:1.1">
                  <bounded-queue-thread-pool name="http-executor">
                      <core-threads count="200"/>
                      <queue-length count="50"/>
                      <max-threads count="1000"/>
                      <keepalive-time time="10" unit="seconds"/>
                  </bounded-queue-thread-pool>
             

      </subsystem>

      ...

              <subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" instance-id="${jboss.node.name}" native="false">
                  <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
                  <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp" executor="http-executor" max-connections="1000"/>
                  <virtual-server name="default-host" enable-welcome-root="true">
                      <alias name="localhost"/>
                      <alias name="example.com"/>
                      <access-log pattern="%a %t %H %m %p %U %s %S %T"/>
                  </virtual-server>
              </subsystem>

       

           The related parameter in the worker file of mod-jk is as follows,

       

      worker.template.host=localhost

      worker.template.type=ajp13

      worker.template.lbfactor=1

      worker.template.connect_timeout=10000

      worker.template.prepost_timeout=10000

      worker.template.socket_timeout=10

      worker.template.connection_pool_timeout=600

         

           Does anyone have idea?

       

           Thanks in advance.

       

      E. Ho