Chapter 24. Performance Tuning
24.1. Performance Tuning
Performance tuning is the process of fine-tuning and improving your system's performance. This may be through configuring the settings to process more data or enacting load-bearing capabilities for faster performance.
24.2. Tune the JBoss Enterprise SOA Platform for High Performance
Procedure 24.1. Task
Learn How to Tune the Product
To learn about performance tuning, go to this website: http://community.jboss.org/wiki/JBossESBPerformanceTuning.
24.3. Registry Performance
In order to improve performance and reliability of your registry, Red Hat recommends that you replicate or federate it. In this way, you will prevent it being a single point of failure.
24.4. JMS Message Prioritization
JMS message prioritization is a feature that allows you to dictate which messages have priority when being processed by the enterprise service bus. Configure the priority on the gateway. It will then be passed onto the ESB services which are subsequently invoked. You should set a priority for any JMS transports which are used to communicate with ESB services.
The message flow priority is passed through ESB invocations into the invoked services as part of the message context. However it is not present within the message while the service is being executed. Rather, the priority will be held within a thread local context so that it can be propagated through any subsequent invocations of the ServiceInvoker.
24.5. Configure the Priority of JMS Messages
Procedure 24.2. Task
- Open the gateway's configuration file in a text editor.
- Add the following code to either the listener, bus or provider area of the file:
<property name="messageFlowPriority" value="X"/>
The value of x can be a number from0
to9
inclusive, where0
is the lowest priority and9
is the highest. - Save the file and exit.
24.6. Gateways on Which Prioritization Can be Set
You can set JMS message prioritization on the following gateways:
- Scheduled (including file and so forth)
- Groovy
- JMS (If this transport is invoked through the JMS Courier, then the priority will also be used to configure the MessageProducer.)
- SQL
- JCA inflow
- Camel
- Hibernate
- Http
- JBoss Remoting
- UDP
- EBWS (For EBWS the property must be specified within the configuration file's "service" element.)
24.7. Dynamic Configuration of the MessageAwareListener Thread Pool
The number of message threads in the MessageAwareListener thread pool changes dynamically. This means that the minimum and maximum number of threads alter as needed. This functionality is exposed through the service M-Bean.