0 Replies Latest reply on Nov 12, 2001 6:06 PM by jeff andrews

    JBOSS/Tomcate execution thread performance

    jeff andrews Newbie

      Sorry to repost in this Forum.

      Hi;
      I have been using JBOSS for about 2 monthes. I'm using
      JBOSS 2.4, Tomcate 3.2.3, and Jdk1.3.1 all installed
      on a Linux box.

      I have a multi-threaded client application (all
      application's threads run within the same client machine) that isues requests to a stateless session bean jndi name deployed within JBOSS via a Servlet (deplyed on Tomcate through JBOSS deployment utility). All works great, except for performance (responce time)!!
      My client application has about 10 to 15 threads, each
      attempts to aquire beans resources via HTTP through
      the servlet mentioned above (RMI/CORBA interfaces are not currently available for the current context I'm working within).

      When I deploy my stateless session bean with 1 or 10 or 20 beans (as maximum capacity, knowing that surely minimum bean instance pool's capacity is always 1), the responce time performance I get from my linux JBOSS-Tomcat server is always the same. Knowing that each of my client's threads requires takes about 5 to 8 seconds of aquired stateless session bean resource execution. It seems to me that either JBOSS, or Tomcat is handling my client's threads requests on a one by one (sequantial blocking) matter, and not parallel to each other.

      Is that because all client's (threads) requests are
      comming from the same (client) machine? If so, is there a way to allow parallel (non sequantial / non blocking) requests handling in my case (where all parallel requests are comming from the same client
      machinf)?

      I also noticed that in the jboss-auto.jcml file (JBOSS's jboss/conf/tomcat/ sub-directory), at the
      ConnectionManagerProperties attribute, for pool
      configuration, there is a variable/parameter called "Blocking" that is set to true !!! What does it mean, and does it help my case in any way?

      Or is this sequantial blocking comming from the Tomcat servlet enging? If so, is there a way to help me configure it otherwise?

      Any help/hints will be greatly appreciated.

      PS: I have pasted below some of the content (of-interest/in-reference) from the jboss-auto.jcml file I refered to ealier:


      java:/TransactionManager
      JmsXA
      MinervaXACMFactory
      org.jboss.resource.security.ManyToOnePrincipalMapping
      JCA:service=RARDeployer
      # Pool type - uncomment to force, otherwise it is the default
      #PoolConfiguration=per-factory

      # Connection pooling properties - see
      # org.jboss.pool.PoolParameters
      MinSize=0
      MaxSize=10
      Blocking=true
      GCEnabled=false
      IdleTimeoutEnabled=false
      InvalidateOnError=false
      TrackLastUsed=false
      GCIntervalMillis=120000
      GCMinIdleMillis=1200000
      IdleTimeoutMillis=1800000
      MaxIdleTimeoutPercent=1.0

      JMS Adapter

      ConnectionURL=jdbc:HypersonicSQL:hsql://localhost:1476
      java:/TransactionManager
      MinervaDS
      MinervaSharedLocalCMFactory
      org.jboss.resource.security.ManyToOnePrincipalMapping
      JCA:service=RARDeployer
      # Pool type - uncomment to force, otherwise it is the default
      #PoolConfiguration=per-factory

      # Connection pooling properties - see
      # org.jboss.pool.PoolParameters
      MinSize=0
      MaxSize=10
      Blocking=true
      GCEnabled=false
      IdleTimeoutEnabled=false
      InvalidateOnError=false
      TrackLastUsed=false
      GCIntervalMillis=120000
      GCMinIdleMillis=1200000
      IdleTimeoutMillis=1800000
      MaxIdleTimeoutPercent=1.0
      userName=sa
      password=
      Minerva JDBC LocalTransaction ResourceAdapter

      10

      8082


      MinervaNoTransCMFactory
      org.jboss.pool.connector.jboss.MinervaNoTransCMFactory
      java:/TransactionManager