Performance Considerations
Elastic Path has tested the current configuration under a high load of 400 virtual users, which is a usual test for this type of change. Every queue is configured to be consumed with one consumer except for the Consumer.orderConfirmationEmailHandler.VirtualTopic.ep.orders queue, that is configured with five consumers because it is the most loaded queue. If required, you can add more concurrent consumers to the existing queues by modifying the destination URI in the database.
To increase the number of consumers, perform the following steps:
In the database, find the setting value of the selected queue.
For example, to set 10 number of concurrent consumers for the
Consumer.customerRegistrationEmailHandler.VirtulTopic.ep.customersqueue, find it in the database, by executing the following command:SELECT * FROM TSETTINGVALUE WHERE CONTEXT_VALUE='jms:queue:Consumer.customerRegistrationEmailHandler.VirtualTopic.ep.customers'Update the queue URI by adding the
concurrentConsumers=<DESIRED_NUMBER_OF_CONSUMERS>parameter with the following code:UPDATE TSETTINGVALUE SET CONTEXT_VALUE='jms:queue:Consumer.customerRegistrationEmailHandler.VirtualTopic.ep.customers?concurrentConsumers=10' WHERE UIDPK=<UIDPK_FROM_SELECT>Restart the integration server.
The new value is visible in the ActiveMQ web console.
note
Do not exceed the broker's maximum number of connections specified in the transport URL. For example:
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>If exceeded, you must reconfigure ActiveMQ. For more information, see the CloudOps for AWS ActiveMQ documentation.
You can increase the number of concurrent consumers per queue. Ensure that you use the following formula:
maxConnections x maximumActiveSessionPerConnection < maximumConnectionsThe
maxConnectionsandmaximumActiveSessionPerConnectionparameters are found in theconf/Catalina/localhost/<APP>.xmlfile.<APP>isbatch,integration, orcm.The
maximumConnectionsparameter is specified as a query parameter in the transport URL. You can find the parameter in the<AMQ_HOME/conf/active.xml>file.