Measures reported by RabMQExchngTest
Messages are not published directly to a queue, instead, the producer sends messages to an exchange. An exchange is responsible for the routing of the messages to the different queues. An exchange accepts messages from the producer application and routes them to message queues with the help of bindings and routing keys.
To understand the load on each exchange and measure the ability of the exchange to process the load, use the RabMQExchngTest test. This test auto-discovers the exchanges in a cluster and reports how quickly each exchange sends out the messages it receives from producers/publishers to queues. In the process, the test points to those exchanges that are unable to route messages to queues as fast as they receive them.
Outputs of the test : One set of results for each exchange.
The measures made by this test are as follows:
| Measurement |
Description |
Measurement Unit |
Interpretation |
| type |
Indicates the type of this exchange. |
|
An exchange can be of one of the following types:
Direct: A direct exchange delivers messages to queues based on a message routing key. In a direct exchange, the message is routed to the queues whose binding key exactly matches the routing key of the message. If the queue is bound to the exchange with the binding key pdfprocess, a message published to the exchange with a routing key pdfprocess will be routed to that queue.
Fanout: A fanout exchange routes messages to all of the queues that are bound to it.
Topic: The topic exchange does a wildcard match between the routing key and the routing pattern specified in the binding.
Headers: Headers exchanges use the message header attributes for routing.
The values that this measure can take and their corresponding numeric values are as follows:
| Measure Value |
Numeric Value |
| Direct |
1 |
| Fanout |
2 |
Topic |
3 |
| Headers |
4 |
Note:
This test reports the Measure Values listed in the table above to indicate the exchange type. In the graph of this measure however, the same will be represented using the numeric equivalents.
|
| features |
Indicates the features of this exchange. |
|
The values that this measure can take and their corresponding numeric values are as follows:
| Measure Value |
Numeric Value |
| Durable |
0 |
| Internal |
1 |
Durable, Internal |
10 |
Durable exchanges will survive server restarts and will last until they are explicitly deleted. The setting called “Internal” is for exchanges that do not have an external client connecting to them.
Note:
This test reports the Measure Values listed in the table above to indicate the exchange features. In the graph of this measure however, the same will be represented using the numeric equivalents.
|
| diffPublishedIn |
Indicates the rate at which messages are published into this exchange. |
Messages/Sec |
|
| diffPublishedOut |
Indicates the rate at which this exchange sends messages out to queues. |
Messages/Sec |
If the value of the diffPublishedIn measure is abnormally higher than the value of the diffPublishedOut measure, it implies that the corresponding exchange does not have the processing power to process all the messages that come into it. |
|