Microsoft has been claiming that exchange's transport engine is adequate for a very large amount of mail transmission (extremely large volumes of messages), but in real-world scenarios, there are many times when the physical resources of the server are not enough to load so much outbound and inbound mail , in other words, Microsoft means that the underlying logic of the product I designed is strong enough to be robust enough that your performance is no longer your hardware bottleneck (laughter). For example, a MBX server may be consumed by a large number of messages from a source to consume a lot of available memory, or some of the key partition space is nearly full, in this case, Exchange will initiate a reverse pressure mechanism to ensure that the transport service can function properly and process the messages that are already in the queue. The counter-pressure mechanism temporarily stops some component functions such as rejecting inbound messages to prevent new messages from entering the queue until the pressure on exchange is mitigated, memory consumption is restored, or disk space is restored, and so on. Exchange will start to enable these stopped feature components again.
Below I refer to the documentation on TechNet for Exchange2013 that summarizes a table where these conditions may trigger anti-stress measures when they are met:
Entry |
Conditions |
free hard disk space on the disk where the mail queue database is located |
Span style= "FONT-SIZE:14PX;" >exchange Monitor the disk footprint of the disk partition where the queue folder is located, you can calculate the value of the entry's high-level occupancy by using the following formula 100 * (hard disk full capacity- Fixed constant)/hard disk full capacity |
Free hard disk space for the mail queue database transaction log |
Exchange also monitors the available hard disk space on the disk where the transaction log files for the message Queue database are located. Similarly, you can calculate a high level of hard disk usage by using the following formula: 100 * (HDD full capacity – Take small (5 GB, 3*databasecheckpointdepthmax))/HDD Full capacity Where Databasecheckpointdepthmax is located in%exchangeinstallpath%bin\edgetransport.exe.config, which refers to the total size of all uncommitted transaction logs that are allowed on the hard disk. After the high level is calculated, the intermediate and normal usage is then rolled down: By default, medium-level hard disk usage is 2% lower than the higher-class hard disk usage rate. Normal-level hard disk usage is 4% lower than high-level hard disk usage. |
Version bucket |
The list of changes is saved in memory before the changes to the message Queue database can be committed to the transaction log. The list is then submitted to the message Queue database itself. These outstanding message Queue database transactions that are saved in memory are called "version buckets." The number of version buckets can increase to an unacceptable number due to unexpected large amounts of incoming mail, spam attacks, message Queue database integrity issues, or hard disk performance. Three level thresholds are high: 200, Medium: 120, Normal: 80 |
Batch processing point |
When Exchange starts receiving messages, the messages are grouped by batch and then ready to be used as version buckets. If an incoming message contains a large attachment, you can divide it into batches. These batches that are being processed are called "batch points." The number of outstanding batch points can exceed the set threshold, especially when there is an unexpectedly large number of incoming messages with large attachments. Three level thresholds are: High: 4000, Medium: 2000, Normal: 1000 |
History depth of version buckets and batch points |
Exchange retains the history of version buckets and batch point resource utilization. If resource usage does not fall to the normal level in a specific number of polling intervals, known as history depth, Exchange stops the slow delay and starts rejecting incoming messages until resource usage returns to normal. By default, the history depth of version buckets and batch points is 10 and 300 polling intervals, respectively. |
Memory size used by the EdgeTransport.exe process |
Total Memory 75% and 1TB take small. By default, the medium-level memory usage of the EdgeTransport.exe file is 73% of the total physical memory, or a value that is 2% lower than the high-level memory usage, and the smaller value is selected. The normal level of memory usage for the EdgeTransport.exe file is 71% of the total physical memory, or a value that is 4% lower than the high-level memory usage, and the smaller value is selected. |
History depth of memory size used by the EdgeTransport.exe process |
Exchange retains the history of memory utilization for the EdgeTransport.exe process. If usage does not fall to the normal level within a specific number of polling intervals, known as history depth, Exchange will start rejecting incoming messages until resource usage returns to normal. By default, EdgeTransport.exe memory utilization has a history depth of 30 polling intervals. |
Memory used by all processes |
By default, the high-level memory usage for all processes is 94% of total physical memory. This value does not include the virtual memory that is available in the paging file on the hard disk. |
Number of messages in the submission queue |
Three level thresholds are: High: 10000, medium: 4000, Normal: 2000 |
History depth of the number of messages in the submission queue |
Exchange retains the history of submission queue usage. If the submission queue usage does not fall to the normal level in a specific number of polling intervals, known as history depth, Exchange stops the slow delay and starts rejecting incoming messages until the submission queue usage returns to normal. By default, the commit queue has a history depth of 300 polling intervals. |
OK, basically the above can be summed up as a few points: free disk space, the number of uncommitted messages in the transfer action, the number of messages in the submission queue, the total memory size.
It is important to note that starting back pressure does not stop accepting inbound SMTP connections on Exchange, but when an SMTP connection is established, the server rejects the mail from command of the peer server and returns an error of 452 4.3.1 (Insufficient system resources). 15004, 15006, 15007 MSExchangeTransport Source log entries are also recorded in the log. 15004 Record resource-level entries (resource pressure has been increased from Previous utilization to current utilization levels.) ), 15005 will record entries with reduced resource levels (resource pressure has been lowered from Previous utilization level to current utilization. ) 15006 and 15007 correspond to disk space and memory space respectively.
The back pressure only acts on the transport service on the MBX server and on the edge server because the FET service does not queue any messages.
The following table summarizes the behavior of some components on a MBX server when anti-stress is enabled.
Resource level |
Connections from Legacy Transport servers |
Connections from other non-Exchange servers |
Store driver connection from other MBX servers |
Pickup directory and Replay directory submissions |
Internal mail flow |
In |
Allow |
Refused |
Allow |
Refused |
Normal delivery |
High |
Refused |
Refused |
Refused |
Refused |
Stop it |
As you can see from the table, basic mail flow works under the medium-level load because the store driver connection between the MBX servers can run, but they reject connections from other non-Exchange SMTP servers. As the pressure increases to a higher level, the MBX server begins to refuse to accept connections until the pressure is reduced. Not mentioned in the table, there are certain operations that are performed when a particular component is under pressure, such as if the submission queue is under pressure, and the Exchange server starts restricting incoming connections by delaying acknowledgment of incoming mail. Exchange will reduce the rate of inbound mail flow by introducing a slow-delivery technology that delays the mail from command. If the submission queue pressure continues to exist, Exchange will gradually increase the latency for the ease of delivery. After the submission queue usage returns to normal, Exchange gradually starts to reduce the acknowledgement delay and gradually goes into normal operation. By default, Exchange begins to delay message acknowledgement for 10 seconds when there is a pressure to submit the queue. If the submission queue continues to have pressure, the delay increases in increments of 5 seconds, up to 55 seconds. If the pressure is still not mitigated, the inbound message is rejected. This slow delivery delay also works when the version bucket is under pressure with the batch point.
In addition, when the memory used by the EdgeTransport.exe process, the memory used by all processes, and the number of messages in the submission queue are three, any one of the intermediate levels will initiate a forced garbage collection.
The memory that is used by all processes, the number of messages in the submission queue, and any of the two items that are at the high level, will initiate two additional actions: message freezes, forced flush of DNS cache from memory.
The message freeze here refers to the operation of removing unnecessary elements of queued messages that are cached in memory. In order to improve performance, the completed messages are slow to exist in memory. Because messages are read directly from the message queue database, removing the MIME content of queued messages in memory can reduce memory usage, but there is a high latency.
The default condition values triggered by the anti-stress measures are stored in the EdgeTransport.exe.config configuration file, which, according to Microsoft, is tested with a lot of real-world scenarios (Microsoft IT scenarios and technology
Adoption Program Partner Environment), so they would recommend not modifying these values easily. Of course, knowing these defaults, trying out the best values in your environment is not an option, and if you want to adjust them, see here: Anti-stress configuration options in the EdgeTransport.exe.config file: https://technet.microsoft.com /zh-cn/library/bb201658 (v=exchg.150). Aspx#file
OK, back pressure we'll talk about this. The next chapter begins with a few more detailed discussions about mail routing in the next Exchange2013.
This article is from the "Castamere Rainy season" blog, be sure to keep this source http://sodaxu.blog.51cto.com/8850288/1684080
"Deep Exchange 2013"20 back pressure