Friday, November 20, 2009

Troubleshooting Back Pressure Issues | Exchange Server 2007 Hub/Edge Transport Servers

Back Pressure is an important resource monitoring feature of Microsoft Exchange Transport Service that exists on Hub/Edge Transport servers. The following system resources are monitored by this:

  • Free space on the hard disk drive that stores the message queue database.
  • Free space on the hard disk drive that stores the message queue database transaction logs.
  • Number of uncommitted message queue database transactions that exist in memory.
  • Memory that is used by the EdgeTransport.exe process.
  • Memory that is used by all processes.

All configuration options and threshold values for back pressure are available in the EdgeTransport.exe.config application configuration file that is located in the C:\Program Files\Microsoft\Exchange Server\Bin directory. You can even enable or disable this resource monitoring by changing the EnableResourceMonitoring parameter in EdgeTransport.exe.config file.

There might be situations and i also ran into one when you notice that the mail has stopped flowing from the Hub server and the queues are disabled. In the event logs, there is a warning message from MSExchangeTransport with event id 15004 which states:

Resource pressure increased from Normal to Medium.

Resource utilization of the following resources exceed the normal level:

Version buckets = XXX [Medium] [Normal=80 Medium=120 High=200]

Back pressure caused the following components to be disabled:

Inbound mail submission from the Internet

Mail submission from the Pickup directory

Mail submission from the Replay directory

Mail delivery to remote domains

Please note that all these threshold values for normal, medim and high are defined in the EdgeTransport.exe.config file. There can be number of reasons that can cause resource pressure to jump high and disable the queues... here are most expected reasons for this:

  1. Running out of disk space or disk performance issues.
  2. Running out of memory
  3. Antivirus software running on Exchange Server with incorrect configuration
  4. Virus issues.
  5. A very large message being processed by Exchange Server.

The first 4 are are very visible and you can easily verify if one or the other is running out or spyking anything. In most of the cases, its the fifth one that is likely to hit. Once that large message gets in the submission queue, it is being processed by exchange server and this causes the problem.

There are various things that can prevent this type of scenario... for e.g. Outlook 2010 wouldn't even let you attach the attachment that is larger than the limits set on an exchange server, however if you are running earlier version of Outlook and Exchange Server is also not at current update level, this can happen.

Here are the few steps that you need to do for the quick resolution for this:

  1. Find out the mailbox that has sent the large email.
  2. Disable that mailbox.
  3. Restart the Information Store service on the mailbox server.
  4. Change the location of Queue Database path and log file path. It can be done from EdgeTransport.exe.config file by changing the value for "QueueDatabasePath" and "QueueDatabaseLoggingPath".
  5. Restart the MSExchange Transport Service on the Hub Transport Server.
  6. You might need to perform the recovery on the queue database to get the emails that are in uncommitted state on the previous queue database from the logs.

If you want to learn more on backup pressure, here's the technet for you.

Understanding Back Pressure