Exchange Queue Statistics Test

A queue is a temporary holding location for messages that are waiting to enter the next stage of processing or delivery to a destination. Each queue represents a logical set of messages that the Exchange server processes in a specific order. In Microsoft Exchange Server 2013, queues hold messages before, during and after delivery. Each queue in the Exchange Server may be in different states as mentioned in the table below:

Measure Value Description

Active

The queue is actively transmitting messages.

Connecting

The queue is in the process of connecting to the next hop.

Ready

The queue recently transmitted messages, but the queue is now empty.

Retry

The last automatic or manual connection attempt failed, and the queue is waiting to retry the connection.

Suspended

The queue has been manually suspended by an administrator to prevent message delivery. New messages can enter the queue, and messages that are in the act of being transmitted to the next hop will finish delivery and leave the queue. Otherwise, messages won't leave the queue until the queue is manually resumed by an administrator.

Though the queues are accurate indicators of the health of mail flow, it is necessary to identify the state of the queue that is disrupting the flow of mails. Administrators should therefore, continuously track the messages flowing in and out of the queues in each state, so that they can promptly capture bottlenecks in mail flow, before end-users complain. This is exactly what the Exchange Queue Statistics test does.

This test automatically discovers the current state of all the queues on the Exchange system, reports the number of messages found in the queues for each state, and also reveals whether/not every queue in that particular state is able to process and send out messages as quickly as it receives them. In the process, the test points to processing bottlenecks, the exact state of the queue in which the bottleneck has occurred, and which stage of mail flow that bottleneck affects.

This test is disabled by default. To enable the test, go to the enable / disable tests page using the menu sequence : Agents -> Tests -> Enable/Disable, pick the desired Component type, set Performance as the Test type, choose the test from the disabled tests list, and click on the >> button to move the test to the ENABLED TESTS list. Finally, click the Update button.

Target of the test : A Microsoft Exchange 2013/2016 server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for each Exchange queue

Configurable parameters for the test
  1. Test period - How often should the test be executed
  2. Host - The host for which the test is to be configured.
  3. port – The port at which the host listens.
  4. xchgextensionshellpath - The Exchange Management Shell is a command-line management interface, built on Windows PowerShell v2, which enables you to administer every part of the Microsoft Exchange Server. This test uses the Exchange management shell to run scripts and collect the desired performance metrics from the Exchange server. To enable the test to load the Exchange management shell snap-in (exshell.psc1) for script execution, you need to specify the full path to the Exchange management shell in the XCHGEXTENSIONSHELLPATH text box. For instance, your specification can be, c:\progra~1\micros~1\exchan~1\v14\bin\exshell.psc1.
  5. To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

    The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

    • The eG manager license should allow the detailed diagnosis capability
    • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Message count:

Indicates the number of messages currently found in this queue.

Number

A consistent increase in the value of this measure could indicate that the queue is receiving messages, but is sending very few out. This could indicate a processing bottleneck. You may want to compare the value of this measure across queues to accurately identify the queue that consists of the maximum number of messages pending processing. From this, you can determine where exactly processing is bottlenecked.

Incoming message rate:

Indicates the rate at which this queue is receiving messages.

Msgs/Sec

 

Outgoing message rate:

Indicates the rate at which this queue is receiving messages.

Msgs/Sec

 

Slow drain status:

Indicates the number of messages that are entering the queues in this state faster than they are leaving the queues in this state.

Number  

The drain rate is computed by subtracting the value of the Incoming message rate measure from the value of Outgoing message rate measure.

If the resultant value is greater than 0, then this measure reports the value Fast. This means that the messages are leaving the queue faster than they are entering the queue. This could imply a bottleneck at the previous hop.

If the resultant value is equal to 0, then this measure will report the value Balanced. This means that messages are leaving the queue as fast as they are entering the queue. This is also the value you willl see when the queue is inactive.

If the resultant value is lesser than 0, then this measure will report the value Slow. This means that messages are entering the queue faster than they are leaving the queue.

At a basic level, if this measure reports the value Fast or Balanced for a queue, it indicates that the queue is healthy and is efficiently draining. On the other hand, the value Slow for a queue indicates that the queue is not efficiently draining. However, before jumping to conclusions, you also need to consider the values of the Incoming message rate, Outgoing message rate, and Message count measures. For example, a queue for which the Drain status is Slow, Message count is high, Incoming message rate is high, and Outgoing message rate is low, then it’s obvious that the queue is not draining properly. However, a queue with Drain status as Slow, but also reports very small values for Incoming message rate, Outgoing message rate, and Message count, does not indicate a problem with the queue.

Balanced drain status:

Indicates the current drain status of this queue.

 

Fast drain status:

Indicates the number of messages that are leaving the queues in this state faster than they are entering the queues in this state.

Number

Retry message count:

Indicates the number of retry messages in this queue.

Kbytes

In Microsoft Exchange Server 2013/2016, messages that cannot be successfully delivered are subject to a Retry, by means of which a renewed connection attempt is made with the destination. If the length of the retry queue is increasing, it implies that replied messages are unable to reach to next hop. The reason for the bottleneck has to be investigated, isolated, and resolved.

Locked message count:

Indicates the count of locked messages in queue.

Number