4 Replies Latest reply: Dec 21, 2011 6:05 AM by 904089 RSS

    Performance issues with the Tuxedo MQ Adapter

    904089
      We are experimenting some performance issues with the MQ Adapter. For example, we are seeing that the MQ Adapter takes from 10 to 100 ms in reading a single message from the queue and sending to the Tuxedo service. The Tuxedo service takes 80 ms in its execution so there is a considerable waste of time in the MQ adapter that we cannot explain.

      Also, we have looked a lot of rollback transactions on the MQ adapter, for example we got 980 rollback transactions for 15736 transactions sent and only the MQ adapter is involved in the rollback. However, the operations are executed properly. The error we got is
      135027.122.hqtux101!MQI_QMTESX01.7636.1.0: gtrid x0 x4ec1491f x25b59: LIBTUX_CAT:376: ERROR: tpabort: xa_rollback returned XA_RBROLLBACK.

      I am looking for information at Oracle site, but I have not found nothing. Could you or someone from your team help me?
        • 1. Re: Performance issues with the Tuxedo MQ Adapter
          user878
          we are using MQAdapters heavily (almost 40 different MQ Adapters for 40 different queues) but never faces such issues. Our version of tuxedo is 9 by the way. I dont believe the source of the problem will be from MQAdapter.

          Thanks
          • 2. Re: Performance issues with the Tuxedo MQ Adapter
            Todd Little-Oracle
            Hi,

            The error log seems to indicate that your Tuxedo application attempted to abort (rollback) a transaction that was already marked as rollback only. Without more details, it's really difficult to say what is happening. Can you describe in more detail what your application is doing and what errors you are seeing?

            Regards,
            Todd Little
            Oracle Tuxedo Chief Architect
            • 3. Re: Performance issues with the Tuxedo MQ Adapter
              904089
              Hi Todd,

              We have 6 MQI adapters reading from 5 different queues, but in this case we are writing in only one queue.

              Someone from Oracle told us that the XA_RBROLLBACK occurs because we have 6 MQ adapters that are reading from the same queues and when one adapter finds a message and try to get that message, it can occurs that other MQ Adapter gets it before. In this case, the MQ adapter rollbacks the transaction. Even when we got some XA_RBROLLBACK errors, we don´t lose message. Also, I read something about that when XA sends a xa_end call to MQ adapter, it actually does the rollback, so when the MQ adapter receives the xa_rollback call, it answers with XA_RBROLLBACK. Is that true?

              However, I am more worried about the performance. We are putting a request message in a MQ queue and waiting for the reply. In some cases, it takes 150ms and in other cases it takes much more longer (more than 400ms). The average is 300ms. MQ adapter calls a service (txgralms0) which lasts 110ms in average.

              This is our configuration:

              "MQI_QMTESX01" SRVGRP="g03000" SRVID=3000
              CLOPT="-- -C /tuxedo/qt/txqgral00/control/src/MQI_QMTESX01.cfg"
              RQPERM=0600 REPLYQ=N RPPERM=0600 MIN=6 MAX=6 CONV=N
              SYSTEM_ACCESS=FASTPATH
              MAXGEN=1 GRACE=86400 RESTART=N
              MINDISPATCHTHREADS=0 MAXDISPATCHTHREADS=1 THREADSTACKSIZE=0
              SICACHEENTRIESMAX="500"


              /tuxedo/qt/txqgral00/control/src/MQI_QMTESX01.cfg:

              *SERVER
              MINMSGLEVEL=0
              MAXMSGLEVEL=0
              DEFMAXMSGLEN=4096
              TPESVCFAILDATA=Y

              *QUEUE_MANAGER
              LQMID=QMTESX01
              NAME=QMTESX01

              *SERVICE
              NAME=txgralms0
              FORMAT=MQSTR
              TRAN=N

              *QUEUE
              LQMID=QMTESX01
              MQNAME=QAT.Q.NACAR.TO.TUX.KGCRQ01

              *QUEUE
              LQMID=QMTESX01
              MQNAME=QAT.Q.NACAR.TO.TUX.KGCPQ01

              *QUEUE
              LQMID=QMTESX01
              MQNAME=QAT.Q.NACAR.TO.TUX.KPSAQ01

              *QUEUE
              LQMID=QMTESX01
              MQNAME=QAT.Q.NACAR.TO.TUX.KPINQ01

              *QUEUE
              LQMID=QMTESX01
              MQNAME=QAT.Q.NACAR.TO.TUX.KDECQ01


              Thanks in advance,
              Marling
              • 4. Re: Performance issues with the Tuxedo MQ Adapter
                904089
                Hi,

                Thanks for the information. Could you please send me your MQI adapter configuration in order to see differences with mine?

                Best regards,
                Marling