Exchange Transport Queues 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/2016, queues hold messages before, during and after delivery. Exchange 2013/2016 supports different types of queues, namely: Submission queue, Unreachable queue, Poison message queue, Delivery queue, Shadow queue, and Safety Net. By closely tracking the length of these queues and the speed with which the messages are processed by the queues, administrators can quickly detect bottlenecks in message processing and can identify the exact queue type where the bottleneck lies. To achieve this, administrators can use the Exchange Transport Queues test.

This test monitors the queues on the exchange server and discovers the priority of messages enqueued – whether, high, low, or normal. The message priority is typically assigned by the sender in Microsoft Outlook when the sender creates and sends the message. This priority setting affects the transmission of messages from a delivery queue to the destination messaging server. High priority messages are transmitted to their destinations before Normal priority messages, and Normal priority messages are transmitted to their destinations before Low priority messages.

Once the priority is discovered, this test then reports how many messages of each priority are enqueued in the various queues and how quickly the queues are processing messages of every priority. This not only enables administrators to proactively isolate potential message processing bottlenecks, but also helps them precisely identify the following:

  • Where the bottleneck originated – i.e., in which type of queue
  • What type of messages were being processed when the slowdown occurred – high priority? normal priority? Or low priority messages?

This in turn will enable administrators to define specific SLAs for the delivery time of the messages of each priority.

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

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for messages of every priority

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.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Available job slots in categorizer:

Indicates the percentage of available job slots in categorizer for messages of this priority.

Percent

The categorizer in the Transport service on a Mailbox server picks up one message at a time from the Submission queue and performs recipient resolution, routing resolution, and content conversion on the message before putting the message in a delivery queue. Additionally, mail flow rules that are defined by the organization are applied.

A high value is desired for this measure. A low value or a consistent drop in this value – particularly for high priority messages - is a cause of concern, as it indicates that the categorizer is very busy and may not have enough slots for subsequent messages. This will delay mail delivery, even for high priority messages. 

External items queued for delivery in all queues:

Indicates the number of external items of this priority that are queued for delivery in all queues.

Number

A low value is desired for this measure. A high value indicates that many external messages are in queue awaiting delivery, probably owing to a bottleneck in mail flow.

Compare the value of this measure across priorities to determine the priority of the largest number of external messages pending delivery.

External items in largest delivery queue:

Indicates the number of external items of this priority in the largest delivery queue.

Number

By comparing the value of this measure across priorities, you can determine the priority of the maximum number of external items in the largest delivery queue. If too many external items in the largest delivery queue are of a high priority, it indicates a serious bottleneck in mail flow which is causing even high priority messages to remain undelivered for long time periods.

External retry items in remote delivery queue:

Indicates the number of external items of this priority set for "retry" in the remote delivery queues.

Number

Ideally, the value of this measure should be very low. A high value or a steady increase in this value could indicate that many messages are failing and are hence being retried. You can compare the value of this measure across priorities to know the priority of the maximum number of external messages set for retry.

Internal items queued for delivery in all queues:

Indicates the number of internal items of this priority that are queued for delivery in all queues.

Number

A low value is desired for this measure. A high value indicates that many internal messages are in queue awaiting delivery, probably owing to a bottleneck in mail flow.

Compare the value of this measure across priorities to determine the priority of the largest number of internal messages pending delivery.

Internal items in largest delivery queue:

Indicates the number of internal items of this priority in the largest delivery queue.

Number

By comparing the value of this measure across priorities, you can determine the priority of the maximum number of internal items in the largest delivery queue. If too many internal items in the largest delivery queue are of a high priority, it indicates a serious bottleneck in mail flow which is causing even high priority messages to remain undelivered for long time periods.

Internal retry items in remote delivery queue:

Indicates the number of internal items of this priority set for "retry" in the remote delivery queues.

Number

Ideally, the value of this measure should be very low. A high value or a steady increase in this value could indicate that many messages are failing and are hence being retried. You can compare the value of this measure across priorities to know the priority of the maximum number of internal messages set for retry.

Messages delivered rate:

Indicates the rate at which messages of this priority completed delivery.

Msgs/Sec

Consistent drops in the value of this measure is indicative of a slowdown in message delivery. Compare the value of this measure across priorities to know the messages of which priority were delivered most slowly. If a low value is reported for even high priority messages, it is serious issue as it indicates that the slowdown is impacting the delivery of high priority messages as well.

Messages completing categorization:

Indicates the percentage of messages of this priority that have completed categorization since the last measurement period.

Percent

A high value is desired for this measure. A low value is indicative of a bottleneck in categorization.

Messages deferred categorization:

Indicates the percentage of messages of this priority that are being deferred for client-side processing during categorization.

Percent

Exchange and Outlook work together to process messages through all applicable rules. Exchange first executes all the rule processing that is possible on the server and then, if further client-side processing is necessary, it creates a special message in the Deferred Actions folder. These messages are called deferred action messages (DAMs) and basically tell Outlook that it has to complete processing for a message. Outlook reads and executes the DAMs as Exchange creates them. Any DAMs that are accumulated when Outlook is offline are cleared the next time the client initializes.

Since deferring can delay message delivery, a low value is desired for this measure.

Messages queued for delivery:

Indicates the number of messages of this priority that were queued to be delivered during the last measurement period.

Number

If the value of this measure only increases consistently and does not drop, it can only indicate that messages are not being delivered as fast as they are being queued for delivery. This indicates a delivery bottleneck.

Messages queued rate:

Indicates the rate at which messages of this priority are queued for delivery.

Msgs/Sec

 

Messages submitted rate:

Indicates the rate at which messages of this priority are enqueued in the submission queue.

Msgs/Sec

The Submission queue is used by the categorizer to gather all messages that have to be resolved, routed, and processed by transport agents on the transport server. All messages that are received by a transport server enter processing in the Submission queue. On Mailbox servers, messages are submitted through a Receive connector, the Pickup or Replay directories, or the Mailbox Transport Submission service. On Edge Transport servers, messages are typically submitted through a Receive connector, but the Pickup and Replay directories are also available.

If the value of this measure increases consistently but does not drop as quickly, it could indicate that categorizer is unable to keep pace with the message load on the submission queue. The bottleneck in this case is the categorizer.

Retry items in retry mailbox queue:

Indicates the number of items of this priority in retry in the retry mailbox queues.

Number

At any given point in time, the value of this measure should not exceed 100. If too many messages are in the retry mailbox queue, it indicates frequent message delivery failures. This is not a sign of good health and will have to be looked into.

Retry items in non-SMTP queues:

Indicates the number of messages of this priority that are in a retry state in the non-Simple Mail Transfer Protocol (SMTP) gateway delivery queues.

Number

Non-SMTP destinations also use delivery queues if the destination is serviced by a Delivery Agent connector.

If too many messages are set for ‘retry’ in the non-SMTP delivery queues, it could indicate that too many messages could not be delivered to non-SMTP destinations. 

Items in submission queue:

Indicates the number of messages of this priority in the submission queue.

Number

At any given point in time, the value of this measure should not exceed 100. If sustained high values are occurring, investigate Active Directory and Mailbox servers for bottlenecks or performance-related issues.

Items in unreachable queue:

Indicates the number of messages of this priority in the unreachable queue.

Number

The Unreachable queue contains messages that can't be routed to their destinations.

These unreachable queues should not contain more than 100 messages at any given point in time. If this measure consistently reports a value over 100, it could imply that the routing path for delivery was altered by configuration changes.

Items in poison queue:

Indicates the number of messages of this priority in the poison queue.

Number

The poison message queue is a special queue that's used to isolate messages that are determined to be harmful to the Exchange 2013/2016 system after a transport server or service failure. 

Ideally, the value of this measure should be 0 at all time. Non-zero values could indicate the existence of messages that are genuinely harmful in their content and format.  Alternatively, these messages may also be the results of a poorly written agent that has caused the Exchange server to fail when it processed the supposedly bad messages.