Identifying Rising Mail Queues

 

In Exchange Server 2003, Simple Mail Transport Protocol (SMTP) is the default transport for messages across servers and to the Internet. All mail that is not being sent from senders and recipients homed on the same server goes through SMTP.

The path with which a message goes generally consists of these steps:

  1. The message is submitted using MAPI or SMTP.

  2. The message is categorized, which means the Exchange Server consults the Active Directory® directory service for information about its recipients.

  3. The message is routed, which means the Exchange server decides if the message should be delivered locally (the recipient is homed on this server) or to which server should this message be sent (to the Internet, another server, other domain, and so on).

  4. SMTP either delivers the mail locally or queues it for remote transfer.

In most cases, a buildup of messages in the Local Delivery queue indicates a performance issue or outages on the server, because the server can no longer deliver the incoming mail in a timely manner. This hold up can come from slowness in consulting Active Directory or in handing messages off for local delivery or SMTP. It can also come from databases being dismounted.

A rise in the remote queue length means that mail is not being sent to other servers. This failure to send mail can be explained by outages or performance issues with the network or remote servers. Those outages or performance issues are causing the network or remote servers from receiving the mail efficiently.

To determine whether message queues are rising, look at the counters listed in The following table. These counters show different mail queues in Exchange and what their expected values are. If the counters do not match the expected values, performance is suffering from a buildup in message queues.

Performance Counters for Mail Queues

Mail queue\Counter Expectations

SMTP Server\Local Queue Length

Indicates the number of messages in the SMTP queue for local delivery.

  • The maximum value should be less than 1,000.

  • The queue should remain steady near its average with small variance.

SMTP Server\Remote Queue Length

Indicates the number of messages in the SMTP queue for remote delivery.

  • The maximum value should be less than 1,000.

  • The queue should remain steady near its average with small variance.

SMTP Server\Categorizer Queue Length

Indicates the number of messages in the SMTP queue for DS attribute searches

  • The maximum value should be less than 10.

MSExchangeIS Mailbox Send Queue Size

Indicates the number of messages in the mailbox store's send queue.

  • The send queue size should be less than 500 at all times.

MSExchangeIS Mailbox\Receive Queue Size

Indicates the number of messages in the mailbox store's receive queue.

  • The send queue size should be less than 500 at all times.

MSExchangeIS Public\Send Queue Size

Indicates the number of messages in the public folder's send queue.

  • In a server with no mail-enabled public folders, it should be below 10. Otherwise, it should be below 500 at all times.

MSExchangeIS Public\Receive Queue Size

Indicates the number of messages in the public folder's receive queue.

  • It should be below 500 at all times.

Example of Monitoring Mail Queues

In this example, you see increasing mail queue length as a symptom of increasing server load during a morning peak. As shown in the following figure, the peak utilization time for this Exchange server starts at 9:00 A.M. During this peak utilization, there is consistently an MSExchangeIS Mailbox\Send Queue Size counter in the store averaging 200 and the SMTP Server\Local Queue Length counter grows to over 15,000 messages until the peak time finishes.

Monitoring mail queues using the Performance snap-in

d63bc929-9c8e-42ed-bbae-1ba41906cb19