Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-11287

[7.0] Documentation - Configuring Messaging - Performance tuning

XMLWordPrintable

      There are some changes required to Part IV. Performance Tuning:

      Chapter 32. Tuning JMS change:

      Batch multiple sends or acknowledgements in a single transaction.
      
      By batching requests, the ActiveMQ Artemis server integrated in JBoss EAP 7 will require only a network round trip on the commit, not on every send or acknowledgement. 

      to:

      Send/Receive messages in single transactions (TRANSACTED_SESSION mode on JMS session)
      
      By batching messages in a single transaction, the ActiveMQ Artemis server integrated in JBoss EAP 7 will require only one network round trip on the commit, not on every send or receive. 
      

      Change:

      If you need to send non-transactional, durable messages and need a guarantee that they have reached the server by the time the call to send() returns, do not set them to be sent blocking. Instead use asynchronous send acknowledgements to get your send acknowledgements returned in a separate stream. 
      

      to:

      If you need to send non-transactional, durable messages and do not need a guarantee that they have reached the server by the time the call to send() returns, do not set them to be sent blocking. Instead use asynchronous send acknowledgements to get your send acknowledgements returned in a separate stream. In case of server crash, some messages might be lost.
      

      Change:

       With pre-acknowledge mode, messages are acknowledged before they are sent to the client. This reduces the amount of acknowledgement traffic on the wire. 
      

      to:

      With pre-acknowledge mode, messages are acknowledged before they are sent to the client. This reduces the amount of acknowledgment traffic on the wire. But in case that client crashes, messages will not be delivered again if client reconnects.
      

      Change:

      JMS operations must be translated into core operations before the server can handle them, resulting in lower performance than when you use the core API. When using core API, try to use methods that take SimpleString as much as possible. SimpleString, unlike java.lang.String, does not require copying before it is written to the wire, so if you reuse SimpleString instances between calls, you can avoid some unnecessary copying. 
      

      to:

      JMS operations must be translated into core operations before the server can handle them, resulting in lower performance than when you use the core API. When using core API, try to use methods that take SimpleString as much as possible. SimpleString, unlike java.lang.String, does not require copying before it is written to the wire, so if you reuse SimpleString instances between calls, you can avoid some unnecessary copying. Note that Core API is not portable to other brokers.
      

      Change:

      When you use MDBs you greatly increase the execution code path on the application server for each message received compared to using a straightforward message consumer. 
      

      to:

      Using MDB to consume messages is slower than consuming messages by simple JMS message consumer.
      

            lcosti.redhat Lucas Costi (Inactive)
            lcosti.redhat Lucas Costi (Inactive)
            Miroslav Novak Miroslav Novak
            Miroslav Novak Miroslav Novak
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: