In Exchange 2010 SP1 and later any writing to the transport log files for activity logging (not the transaction logging on the mail.que database) is cached in RAM and written to disk every five minutes.
In a lab environment you might be impacted by this as you might have sent an email and want to check the logs for the information they contain for diagnostic reasons. The problem is you might need to wait five minutes to get this information.
To reduce the memory cache time to 30 seconds set the following two entries in the Edge.Transport.exe.config file (found in \Program Files\Microsoft\Exchange Server\v14\bin) within the AppSettings area:
<add key="SmtpSendLogFlushInterval" value="0:00:30" /> <add key="SmtpRecvLogFlushInterval" value="0:00:30" />
The two values above control different log files. Each transport log file has a different setting – so its possible to set Receive Connector protocol logging to a different value from Send Connector protocol logging if you wanted to. Once you make your changes to Edge.Transport.exe.config you need to restart the Microsoft Exchange Transport service for the changes to be picked up.
Here is a list of the properties that I know about that can be changed:
- SmtpSendLogFlushInterval – Timespan value on how often to write the Send Connector protocol logging log to disk
- SmtpRecvLogFlushInterval – Timespan value on how often to write the Receive Connector protocol logging log to disk
- ConnectivityLogFlushInterval – Timespan value on how often the Connectivity log is written to disk.
In addition to the above, which are all timespan values for how often to write to disk, if the memory buffer that contains the log entries fills up then it will be written to disk as well. The default memory buffers are 1MB. So on a very busy server you might find that the log writing is not every five minutes exactly but of a more “random” nature as the buffer is filled. The following settings control the size of the buffer for the above timespans:
Exchange 2013 CU1 and Later
The process for this version of Exchange is similar, just different log files because of the different services in use.
In Exchange 2013 you have transport services for mailbox (submission and delivery), transport core and CAS (frontend transport). The config files for these services are:
- EdgeTransport.exe.config (transport core)
- MSExchangeFrontEndTransport.exe.config (Frontend Transport on the CAS role)
- MSExchangeDelivery.exe.config (for mailbox delivery on the Mailbox role)
- MSExchangeSubmission.exe.config (for mailbox submission on the Mailbox role)
You will find these config files in \Program Files\Microsoft\Exchange Server\v15\bin.
One response to “How To Speed Up Exchange Server Transport Logging”
Thanks for posting this, very helpful!