Is the performance impact on the EMS server when using selectors in routes similar to the one imposed on using selectors for clients?
book
Article ID: KB0089186
calendar_today
Updated On:
Products
Versions
TIBCO Enterprise Message Service
-
Not Applicable
-
Description
Resolution: Description: =========
The performance penalty on using selectors in routes is similar to what is noticed for using selectors for clients. A message selector is evaluated at the EMS server level and will prevent unwanted messages to be forwarded to the routes/clients. The selectors may help reduce the message outbound bandwidth. However, every message will be evaluated against each route's/client's message selector to see if it has to be delivered. This adds processing time and impacts EMS server performance.
If there are a lot of pending messages for a queue, they will be swapped-out to the EMS datastore file. If a new queue consumer with a selector for such a queue starts, then the EMS server needs to swap-in the messages which may severely impact EMS performance. However, in the case of a route, the extra swap-in for evaluating a selector is not going to happen as EMS creates an internal durable consumer (not queues) and puts messages into it for routing based on the selector defined.
It is not possible for TIBCO to evaluate the exact performance impact as this depends on several environment specific parameters and complexity of the selector applied. The best way to evaluate the performance impact is to test with your system in specific environments using the exact selector planned for use.
Environment: ========== All Operating Systems and EMS versions
Issue/Introduction
Is the performance impact on the EMS server when using selectors in routes similar to the one imposed on using selectors for clients?