How do monitor the efficiency of MSMQ using Multicast / PGM
A customer asked me an interesting question - how to work out how many times an MSMQ Multicast message has to be retransmitted when the receiving client detects one is missing?
The Performance Monitor counters for Multicast are a bit slim:
- "MSMQ Incoming Multicast Session" (normal throughput data - bytes/sec and cumulative total)
- "MSMQ Outgoing Multicast Session" (normal throughput data - bytes/sec and cumulative total)
- "MSMQ Server\Incoming Multicast Sessions" (current number of sessions)
- "MSMQ Server\Outgoing Multicast Sessions" (current number of sessions)
so no data on error rates.
The data can, in theory, be exposed by writing code to make use of the IPPROTO_RM Socket Options:
Option - RM_SENDER_STATISTICS
Optval Type - RM_SENDER_STATSOption - RM_RECEIVER_STATISTICS
Optval Type - RM_RECEIVER_STATS
but I expect this would have to be added to the MSMQ or RMCAST services - not something a customer can do.
I'll see if there is some other approach we can try or, failing that, if this can be added to the wishlist for MSMQ 6.0.