4 Replies Latest reply on Oct 5, 2009 4:33 PM by jaikiran

    How to improve performance of Message Driven Beans

    averri

      Hi,

      I have a MDB with a very bad performance: the actual throughput is only 10 messages per second.

      I need to improve it to 100 messages per second. How can I configure JBoss/MDB to archive this goal?

      I've tried to tune the 'maxSession' property, without success.

      My actual MDB configuration is:

      @MessageDriven(activationConfig = {
       @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
       @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/testQueue"),
       @ActivationConfigProperty(propertyName = "maxSession", propertyValue="10"),
       @ActivationConfigProperty(propertyName = "minSession", propertyValue="10"),
       @ActivationConfigProperty(propertyName = "maxMessages", propertyValue="1")
      })


        • 1. Re: How to improve performance of Message Driven Beans
          averri

           

          "averri" wrote:
          Hi,

          I have a MDB with a very bad performance: the actual throughput is only 10 messages per second.

          I need to improve it to 100 messages per second. How can I configure JBoss/MDB to achieve this goal?

          I've tried to tune the 'maxSession' property, without success.

          My actual MDB configuration is:

          @MessageDriven(activationConfig = {
           @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
           @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/testQueue"),
           @ActivationConfigProperty(propertyName = "maxSession", propertyValue="10"),
           @ActivationConfigProperty(propertyName = "minSession", propertyValue="10"),
           @ActivationConfigProperty(propertyName = "maxMessages", propertyValue="1")
          })


          • 2. Re: How to improve performance of Message Driven Beans
            averri

            I would like to improve the MDB performance, that is actually very bad on JBoss.

            I'm using JBoss v4.2.3, with integrated JBossMQ.

            Please help!

            • 3. Re: How to improve performance of Message Driven Beans
              jaikiran

               

              "averri" wrote:


              I need to improve it to 100 messages per second. How can I configure JBoss/MDB to archive this goal?

              I've tried to tune the 'maxSession' property, without success.


              The Message Driven bean configurations in JBOSS_HOME/server/< serverName>/deploy/ejb3-interceptors-aop.xml is configured to use StrictMaxPool with max 15 instances:

              <domain name="Message Driven Bean" extends="Intercepted Bean" inheritBindings="true">
              ...
               <annotation expr="class(*) AND !class(@org.jboss.ejb3.annotation.Pool)">
               @org.jboss.ejb3.annotation.Pool (value="StrictMaxPool", maxSize=15, timeout=10000)
               </annotation>
               </domain>
              


              In combination with the maxSession value, also configure your MDB to set the Pool size of your choice, as explained here http://www.jboss.org/file-access/default/members/jbossejb3/freezone/docs/reference/1.0.7/html/SessionBean_and_MDB_configuration.html



              • 4. Re: How to improve performance of Message Driven Beans
                jaikiran

                 

                "averri" wrote:
                I would like to improve the MDB performance, that is actually very bad on JBoss.

                I'm using JBoss v4.2.3, with integrated JBossMQ.

                Please help!


                Ah, you are using JBoss AS-4.2.x. The docs that i refered you to are for JBoss AS-5.x. You will have to do similar configurations even in AS 4.x and you can follow this documentation for AS-4.x http://www.jboss.org/ejb3/docs/reference/build/reference/en/html/