Understanding Back Pressure
Applies to: Exchange Server 2010
Back pressure is a system resource monitoring feature of the Microsoft Exchange Transport service that exists on Microsoft Exchange Server 2010 Hub Transport and Edge Transport servers. Exchange transport can detect when vital resources, such as available hard disk space and memory, are under pressure, and take action in an attempt to prevent service unavailability.
Back pressure prevents the system resources from being completely overwhelmed, and Exchange tries to deliver the existing messages. When utilization of the system resource returns to a normal level, the Exchange server gradually resumes normal operation.
In Exchange Server 2007, when a Hub Transport or Edge Transport server is under resource pressure, it rejects incoming connections. In Exchange 2010, incoming connections are accepted, but incoming messages over those connections are either accepted at a slower rate or are rejected. When an SMTP host attempts to make a connection to a Hub Transport or Edge Transport server that's in back pressure, the connection will succeed but when the host issues the MAIL FROM command to submit a message, depending on the resource that's under pressure, Exchange either delays the acknowledgement to the MAIL FROM command or rejects it.
Looking for management tasks related to managing transport servers? See Managing Transport Servers.
Contents
Resources Monitored
Actions Taken by Exchange Transport When Under Resource Pressure
Back Pressure Configuration Options in the EdgeTransport.exe.config File
Back Pressure Logging Information
Resources Monitored
The following system resources are monitored as part of the back pressure feature:
- Free space on the hard disk that stores the message queue database.
- Free space on the hard disk that stores the message queue database transaction logs.
- The number of uncommitted message queue database transactions that exist in memory.
- The memory that's used by the EdgeTransport.exe process.
- The memory that's used by all other processes.
For each monitored system resource on a Hub Transport server or Edge Transport server, the following three levels of resource utilization are applied:
- Normal The resource isn't overused. The server accepts new connections and messages.
- Medium The resource is slightly overused. Back pressure is applied to the server in a limited manner. Mail from senders in the authoritative domain can flow. However, depending on the specific resource under pressure, the server uses tarpitting to delay server response or rejects incoming MAIL FROM commands from other sources.
- High The resource is severely overused. Full back pressure is applied. All message flow stops, and the server rejects all new incoming MAIL FROM commands.
The following sections explain how Exchange handles the situation when a specific resource is under pressure.
Free Hard Disk Space for the Message Queue Database
By default, the message queue database is stored at C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\data\Queue. Exchange monitors the hard disk space utilization for this location. The high level of hard disk space utilization is calculated by using the following formula:
100 * (hard disk size - fixed constant) / hard disk size
The value of fixed constant is 500 megabytes (MB).
The results of this formula are expressed as a percentage of the total hard disk space that's being used. The results of the formula are always rounded down to the nearest integer. By default, the medium level of hard disk utilization is 2 percent less than the high level. By default, the normal level of hard disk utilization is 4 percent less than the high level.
For more information about the message queue database, see Understanding Transport Queues.
Free Hard Disk Space for the Message Queue Database Transaction Logs
By default, the message queue database transaction logs are stored at C:\Program Files\Microsoft\ExchangeServer\V14\TransportRoles\data\Queue. Exchange monitors the hard disk space utilization for this location. The EdgeTransport.exe.config file contains a DatabaseCheckPointDepthMax parameter that has a default value of 512 MB. This parameter controls the total allowed size of all uncommitted transaction logs that exist on the hard disk. This parameter is used in the formula that calculates hard disk utilization.
Note
The value of the DatabaseCheckPointDepthMax parameter applies to all transport-related Extensible Storage Engine (ESE) databases that exist on the Hub Transport server or Edge Transport server. This would include the message queue database and the IP filter database.
By default, the high level of hard disk utilization is calculated by using the following formula:
100 * (hard disk size - Max(5 GB, 3*DatabaseCheckPointDepthMax)) / hard disk size
The results of the formula are always rounded down to the nearest integer. By default, the medium level of hard disk utilization is 2 percent less than the high level. The normal level of hard disk utilization is 4 percent less than the high level.
For more information about the message queue database, see Understanding Transport Queues.
Number of Uncommitted Message Queue Database Transactions in Memory
A list of changes that are made to the message queue database is kept in memory until those changes can be committed to a transaction log. Then the list is committed to the message queue database itself. These outstanding message queue database transactions that are kept in memory are known as version buckets. The number of version buckets may increase to unacceptably high levels because of an unexpectedly high volume of incoming messages, spam attacks, problems with the message queue database integrity, or hard disk performance.
When Exchange starts receiving messages, these messages are grouped together in batches and then prepared as version buckets. If an incoming message has a large attachment, it can be separated into multiple batches. These batches that are being processed are known as batch points. The number of outstanding batch points can exceed the set thresholds, especially when there's an unexpectedly high volume of incoming messages with large attachments.
When version buckets or batch points are under pressure, the Exchange 2010 transport server will start throttling incoming connections by delaying acknowledgement to incoming messages. Exchange will reduce the rate of inbound message flow by tarpitting, which introduces a delay to the MAIL FROM commands. If the resource pressure condition continues, Exchange will gradually increase the tarpitting delay. After the resource utilization returns to normal, Exchange will gradually start reducing the acknowledgement delay and ease into normal operation. By default, Exchange will start delaying message acknowledgements 10 seconds when under resource pressure. If the resources continue to be under pressure, the delay is increased in 5-second increments up to 55 seconds.
Exchange 2010 keeps a history of version bucket and batch point resource utilization. If the resource utilization doesn't go down to normal level for a specific number of polling intervals, known as the history depth, Exchange will stop the tarpitting delay and start rejecting incoming messages until the resource utilization goes back to normal. By default, the history depths for version buckets and batch points are in 10 and 300 polling intervals respectively.
Memory Used by the EdgeTransport.exe Process
By default, the high level of memory utilization by the EdgeTransport.exe process is calculated by using the following formula:
75 percent of the total physical memory or 1 terabyte, whichever is less
This calculation doesn't include virtual memory that's available on the hard disk in the paging file, or the memory that's used by other processes. The results of this formula are expressed as a percentage of the total memory that's used by the EdgeTransport.exe process. The results of the formula are always rounded down to the nearest integer.
By default, the medium level of memory utilization by the EdgeTransport.exe file is calculated as 73 percent of the total physical memory or 2 percent less than the value of the high level, whichever is less. By default, the normal level of memory utilization by the EdgeTransport.exe file is calculated as 71 percent of the total physical memory or 4 percent less than the value of the high level, whichever is less.
If the memory utilization of the EdgeTransport.exe process is higher than the specified normal level, garbage collection is forced. Garbage collection is a process that checks for unused objects that exist in memory, and reclaims the memory that's used by those unused objects.
Exchange 2010 keeps a history of the memory utilization of the EdgeTransport.exe process. If the utilization doesn't go down to normal level for a specific number of polling intervals, known as the history depth, Exchange will start rejecting incoming messages until the resource utilization goes back to normal. By default, the history depth for EdgeTransport.exe memory utilization is 30 polling intervals.
Memory Used by All Processes
By default, the high level of memory utilization by all processes is 94 percent of total physical memory. This value doesn't include virtual memory that's available on the hard disk in the paging file.
When the specified memory utilization level is reached, message dehydration occurs. Message dehydration is the act of removing unnecessary elements of queued messages that are cached in memory. Complete messages are cached in memory for enhanced performance. Removal of the MIME content of queued messages from memory reduces the memory that's used at the expense of higher latency because the messages are read directly from the message queue database. By default, message dehydration is enabled.
Return to top
Actions Taken by Exchange Transport When Under Resource Pressure
The following table summarizes the actions taken by Exchange transport when a specific resource is under pressure.
Back pressure actions taken by Hub Transport and Edge Transport servers when responding to resource pressure
Resource under pressure | Utilization level | Actions taken |
---|---|---|
Hard disk space for message queue database |
Medium |
|
Hard disk space for message queue database |
High |
|
Hard disk space for message queue database transaction logs |
Medium |
|
Hard disk space for message queue database transaction logs |
High |
|
Version buckets |
Medium |
|
Version buckets |
High |
|
Batch point |
Medium |
|
Batch point |
High |
|
Memory used by EdgeTransport.exe process |
Medium |
|
Memory used by EdgeTransport.exe process |
High |
|
Memory used by all processes |
Medium |
|
Memory used by all processes |
High |
|
Return to top
Back Pressure Configuration Options in the EdgeTransport.exe.config File
All configuration options for back pressure are available in the EdgeTransport.exe.config application configuration file. For more information about the EdgeTransport.exe.config file, see Understanding the EdgeTransport.exe.Config File.
Warning
These settings are listed as a reference only. We strongly discourage any modifications to the back pressure settings in the EdgeTransport.exe.config file. Modifications to the back pressure settings may result in poor performance or data loss. We recommend that you investigate and correct the root cause of any back pressure events that you may encounter.
Back pressure configuration options
Parameter name | Default value |
---|---|
EnableResourceMonitoring |
TRUE |
ResourceMonitoringInterval |
00:00:02 |
PercentageDatabaseDiskSpaceUsedHighThreshold |
0. This value indicates that the default formula will be used. |
PercentageDatabaseDiskSpaceUsedMediumThreshold |
0. This value indicates that the actual value is 2 percent less than the value of PercentageDatabaseDiskSpaceUsedHighThreshold. |
PercentageDatabaseDiskSpaceUsedNormalThreshold |
0. This value indicates that the actual value is 2 percent less than the value of PercentageDatabaseDiskSpaceUsedMediumThreshold. |
PercentageDatabaseLoggingDiskSpaceUsedHighThreshold |
0. This value indicates that the default formula will be used. |
PercentageDatabaseLoggingDiskSpaceUsedMediumThreshold |
0. This value indicates that the actual value is 2 percent less than the value of PercentageDatabaseLoggingDiskSpaceUsedHighThreshold. |
PercentageDatabaseLoggingDiskSpaceUsedNormalThreshold |
0. This value indicates that the actual value is 2 percent less than the value of PercentageDatabaseLoggingDiskSpaceUsedMediumThreshold. |
PercentagePrivateBytesUsedHighThreshold |
0. This value indicates that the default calculation will be used. |
PercentagePrivateBytesUsedMediumThreshold |
0. This value indicates that the actual value is 2 percent less than the value of PercentagePrivateBytesUsedHighThreshold. |
PercentagePrivateBytesUsedNormalThreshold |
0. This value indicates that the actual value is 2 percent less than the value of PercentagePrivateBytesUsedMediumThreshold. |
VersionBucketsHighThreshold |
200 |
VersionBucketsMediumThreshold |
120 |
VersionBucketsNormalThreshold |
80 |
VersionBucketsHistoryDepth |
10 |
BatchPointHighThreshold |
4000 |
BatchPointMediumThreshold |
2000 |
BatchPointNormalThreshold |
1000 |
BatchPointHistoryDepth |
300 |
BatchPointUseCostForPressure |
TRUE |
BatchPointBatchSize |
40 |
BatchPointBatchTimeout |
00:00:00.100 |
BatchPointItemExpiryInterval |
00:05:00 |
SMTPBaseThrottlingDelayInterval |
00:00:00 |
SMTPMaxThrottlingDelayInterval |
00:00:55 |
SMTPStepThrottlingDelayInterval |
00:00:05 |
SMTPStartThrottlingDelayInterval |
00:00:10 |
PercentagePhysicalMemoryUsedLimit |
94 |
DehydrateMessagesUnderMemoryPressure |
TRUE |
PrivateBytesHistoryDepth |
30 |
Return to top
Back Pressure Logging Information
The following list describes the event log entries that are generated by specific back pressure events in Exchange 2010:
- Event log entry for an increase in any resource utilization level
Event Type: Error
Event Source: MSExchangeTransport
Event Category: Resource Manager
Event ID: 15004
Description: Resource pressure increased from Previous Utilization Level to Current Utilization Level. - Event log entry for a decrease in any resource utilization level
Event Type: Information
Event Source: MSExchangeTransport
Event Category: Resource Manager
Event ID: 15005
Description: Resource pressure decreased from Previous Utilization Level to Current Utilization Level. - Event log entry for critically low available disk space
Event Type: Error
Event Source: MSExchangeTransport
Event Category: Resource Manager
Event ID: 15006
Description: The Microsoft Exchange Transport service is rejecting messages because available disk space is below the configured threshold. Administrative action may be required to free disk space for the service to continue operations. - Event log entry for critically low available memory
Event Type: Error
Event Source: MSExchangeTransport
Event Category: Resource Manager
Event ID: 15007
Description: The Microsoft Exchange Transport service is rejecting message submissions because the service continues to consume more memory than the configured threshold. This may require that this service be restarted to continue normal operation.
Return to top