2 Replies Latest reply on Nov 25, 2014 2:42 AM by zipzip81

    Jboss AS 7.1.1 unbounded queue thread for more than 100 concurrent users.

    zipzip81

      Dear all,

       

      I used JMeter to load test 100 concurrent users in JBossAs7.1.1.

       

      The result is bad, a page response time average for 1 users is only 1.5 ms.

       

      When perform load test for 100 concurrent users, average page response time increased to 20ms.

       

      So I added unbounded queue thread and set the max thread to 5000. Now the response time for 100 users is 10ms.

       

      If max thread we set more than 5000, response time will also increase.

       

      Beside the max thread, what is the parameter we can fine tune in order to get better performance let say 3 to 4 ms?

       

      Can anyone share the experience how to fine tune the JBoss?

       

      Please advice.

       

      Thanks and cheers

        • 1. Re: Jboss AS 7.1.1 unbounded queue thread for more than 100 concurrent users.
          zipzip81

          <subsystem xmlns="urn:jboss:domain:threads:1.1">

                      <thread-factory name="http-connector-factory" group-name="uq-thread-pool" thread-name-pattern="HTTP-%t" priority="9"/>

                      <unbounded-queue-thread-pool name="uq-thread-pool">

                          <max-threads count="5000"/>

                          <keepalive-time time="10" unit="seconds"/>

                          <thread-factory name="http-connector-factory"/>

                      </unbounded-queue-thread-pool>

                  </subsystem>

          • 2. Re: Jboss AS 7.1.1 unbounded queue thread for more than 100 concurrent users.
            zipzip81

            If I used a lof of EJB do I need to set this also?

             

            <subsystem xmlns="urn:jboss:domain:ejb3:1.2">

                        <session-bean>

                            <stateless>

                                <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>

                            </stateless>

                            <stateful default-access-timeout="5000" cache-ref="simple"/>

                            <singleton default-access-timeout="5000"/>

                        </session-bean>

                        <pools>

                            <bean-instance-pools>

                                <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>

                                <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>

                            </bean-instance-pools>

                        </pools>

                        <caches>

                            <cache name="simple" aliases="NoPassivationCache"/>

                            <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>

                        </caches>

                        <passivation-stores>

                            <file-passivation-store name="file"/>

                        </passivation-stores>

                        <async thread-pool-name="default"/>

                        <timer-service thread-pool-name="default">

                            <data-store path="timer-service-data" relative-to="jboss.server.data.dir"/>

                        </timer-service>

                        <remote connector-ref="remoting-connector" thread-pool-name="default"/>

                        <thread-pools>

                            <thread-pool name="default">

                                <max-threads count="10"/>

                                <keepalive-time time="100" unit="milliseconds"/>

                            </thread-pool>

                        </thread-pools>

                    </subsystem>