了解反压

 

适用于: Exchange Server 2010 SP2, Exchange Server 2010 SP3

上一次修改主题: 2015-03-09

反压是存在于 Microsoft Exchange Server 2010 集线器传输服务器和边缘传输服务器上的 Microsoft Exchange 传输服务的一种系统资源监视功能。Exchange 传输可以检测重要资源(例如可用硬盘空间和内存)何时具有压力,并采取操作以尝试阻止服务不可用性。

反压可以防止过多地使用系统资源,并且 Exchange 会尝试传递现有邮件。当系统资源使用率恢复到正常级别后,Exchange 服务器就可以逐渐恢复正常运行。

在 Exchange Server 2007 中,当集线器传输服务器或边缘传输服务器具有资源压力时,它会拒绝传入连接。在 Exchange 2010 中,会接受传入连接,但是会以更慢的速度接受或拒绝通过这些连接传入的邮件。SMTP 主机尝试连接到处于反压下的集线器传输服务器或边缘传输服务器时,连接会成功,但是该主机何时发出 MAIL FROM 命令来提交邮件,则取决于具有压力的资源,Exchange 可能会延迟确认 MAIL FROM 命令或拒绝该命令。

要查找与管理传输服务器相关的管理任务吗?请参阅管理传输服务器

目录

监视的资源

具有资源压力时 Exchange 传输执行的操作

EdgeTransport.exe.config 文件中的反压配置选项

反压日志记录信息

监视的资源

作为反压功能的一部分,将监视下列系统资源:

  • 存储邮件队列数据库的硬盘中的可用空间。

  • 存储邮件队列数据库事务日志的硬盘中的可用空间。

  • 内存中的未提交邮件队列数据库事务数目。

  • EdgeTransport.exe 进程使用的内存大小。

  • 所有其他进程使用的内存大小。

对于集线器传输服务器或边缘传输服务器中的每个受监视系统资源,可应用下列三种资源使用率级别:

  • 正常   资源的使用未过度。服务器可以接受新的连接和邮件。

  • 中等   资源的使用稍微过度。此时将以有限的方式对服务器应用反压功能。来自权威域中的发件人的邮件可以流动。但是,根据具有压力的特定资源,服务器会使用缓送技术延迟服务器响应或拒绝来自其他源的传入 MAIL FROM 命令。

  •    资源的使用严重过度。此时将充分应用反压功能。所有邮件都停止流动,服务器将拒绝一切新传入的 MAIL FROM 命令。

下列部分说明特定资源具有压力时 Exchange 如何处理此情况。

邮件队列数据库的可用硬盘空间

默认情况下,邮件队列数据库存储在 C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\data\Queue 中。Exchange 监视该位置的硬盘空间使用率。可使用以下公式计算高级别的硬盘空间使用率:

100 * (硬盘大小 - 固定常量) / 硬盘大小

固定常量的值为 500 MB。

该公式的结果用所用硬盘驱动器空间占全部硬盘空间百分比的形式表示。该公式的结果总是向下舍入为最接近的整数。默认情况下,中等级别硬盘使用率比高级别硬盘驱动器使用率低 2%。默认情况下,正常级别硬盘使用率比高级别硬盘使用率低 4%。

有关邮件队列数据库的详细信息,请参阅了解传输队列

邮件队列数据库事务日志的可用硬盘空间

默认情况下,邮件队列数据库事务日志存储在 C:\Program Files\Microsoft\ExchangeServer\V14\TransportRoles\data\Queue 中。Exchange 监视该位置的硬盘空间使用率。EdgeTransport.exe.config 文件包含一个 DatabaseCheckPointDepthMax 参数,其默认值为 512 MB。此参数控制硬盘上允许存在的所有未提交的事务日志的总大小。在计算硬盘使用率的公式中,将使用此参数。

注释注意:
DatabaseCheckPointDepthMax 参数的值将应用于集线器传输服务器或边缘传输服务器上所有与传输相关的可扩展存储引擎 (ESE) 数据库。这包括邮件队列数据库和 IP 筛选数据库。

默认情况下,使用以下公式计算高级别的硬盘使用率:

100 *(硬盘大小 - Max(5 GB, 3*DatabaseCheckPointDepthMax))/硬盘大小

该公式的结果总是向下舍入为最接近的整数。默认情况下,中等级别硬盘使用率比高级别硬盘驱动器使用率低 2%。正常级别硬盘驱动器使用率比高级别硬盘使用率低 4%。

有关邮件队列数据库的详细信息,请参阅了解传输队列

内存中的未提交邮件队列数据库事务数目

在可将对邮件队列数据库的更改提交到事务日志之前,会将该更改列表保存在内存中。然后,会将该列表提交给邮件队列数据库自身。这些保存在内存中的未完成邮件队列数据库事务被称为“版本存储桶”。版本存储桶数目可能会因出乎意料的大量传入邮件、垃圾邮件攻击、邮件队列数据库完整性问题或硬盘性能而增大到不可接受的数目。

Exchange 开始接收邮件时,这些邮件会按批处理进行分组,然后准备用作版本存储桶。如果传入邮件包含较大的附件,可以将其分为多个批处理。正在处理的这些批处理称为“批处理点”。未完成的批处理点数目可以超过设置的阈值,尤其是存在出乎意料的大量带有较大附件的传入邮件时。

版本存储桶或批处理点具有压力时,Exchange 2010 传输服务器将通过延迟确认传入邮件来开始限制传入连接。Exchange 将通过引入延迟 MAIL FROM 命令的缓送技术来降低入站邮件流的速率。如果资源压力情况继续存在,Exchange 将逐渐增加缓送延迟。在资源使用率恢复正常后,Exchange 将逐渐开始减少确认延迟并轻松开始正常操作。默认情况下,Exchange 将在具有资源压力时开始将邮件确认延迟 10 秒钟。如果资源继续具有压力,延迟会以 5 秒的增量增加,最高为 55 秒。

Exchange 2010 保留版本存储桶和批处理点资源使用率的历史记录。如果资源使用率在特定数量的轮询间隔内没有下降到正常级别,称为历史记录深度,Exchange 将停止缓送延迟并开始拒绝传入邮件,直到资源使用率恢复正常。默认情况下,版本存储桶和批处理点的历史记录深度分别为 10 个和 300 个轮询间隔。

EdgeTransport.exe 进程使用的内存大小

默认情况下,使用以下公式计算 EdgeTransport.exe 进程使用的高级别内存使用率:

总物理内存的 75% 或 1 TB,选择二者中较小的值

上述计算并未包括硬盘上页面文件中可用的虚拟内存,也未包括其他进程使用的内存。该公式的结果用 EdgeTransport.exe 进程所用内存占全部内存百分比的形式表示。该公式的结果总是向下舍入为最接近的整数。

默认情况下,EdgeTransport.exe 文件的中等级别内存使用率为总物理内存的 73%,或为比高级别内存使用率低 2% 的值,选择二者中较小的值。默认情况下,EdgeTransport.exe 文件的正常级别内存使用率为总物理内存的 71%,或为比高级别内存使用率低 4% 的值,选择二者中较小的值。

如果 EdgeTransport.exe 进程的内存使用率高于指定的正常级别,则会强制执行“垃圾收集”。垃圾收集是一个检查内存中未使用的对象并收回这些对象所用内存的进程。

Exchange 2010 保留 EdgeTransport.exe 进程的内存使用率的历史记录。如果使用率在特定数量的轮询间隔内没有下降到正常级别,称为历史记录深度,Exchange 将开始拒绝传入邮件,直到资源使用率恢复正常。默认情况下,EdgeTransport.exe 内存使用率的历史记录深度为 30 个轮询间隔。

所有进程使用的内存

默认情况下,全部进程的高级别内存使用率为总物理内存的 94%。此值并不包括硬盘上页面文件中可用的虚拟内存。

达到指定的内存使用率级别时,会出现“邮件冻结”情况。邮件冻结是一个删除内存中缓存的排队邮件的不必要元素的操作。为了提高性能,完成的邮件都缓存在内存中。因为邮件是从邮件队列数据库中直接读取的,所以删除内存中排队邮件的 MIME 内容可减少内存使用量,但会出现较高延迟。默认情况下,会启用邮件冻结。

返回顶部

具有资源压力时 Exchange 传输执行的操作

下表汇总了特定资源具有压力时 Exchange 传输执行的操作。

集线器传输服务器和边缘传输服务器响应资源压力时执行的反压操作

具有压力的资源 使用率级别 执行的操作

邮件队列数据库的硬盘空间

中等

  • 拒绝来自非 Exchange 服务器的传入邮件

  • 拒绝拾取目录和重播目录中的邮件提交

邮件队列数据库的硬盘空间

  • 拒绝来自其他 Exchange 服务器的传入邮件

  • 拒绝来自邮箱服务器上的存储驱动程序中的邮件提交(仅适用于集线器传输服务器)

  • 拒绝来自非 Exchange 服务器的传入邮件

  • 拒绝拾取目录和重播目录中的邮件提交

邮件队列数据库事务日志的硬盘空间

中等

  • 拒绝来自非 Exchange 服务器的传入邮件

  • 拒绝拾取目录和重播目录中的邮件提交

邮件队列数据库事务日志的硬盘空间

  • 拒绝来自其他 Exchange 服务器的传入邮件

  • 拒绝来自邮箱服务器上的存储驱动程序中的邮件提交(仅适用于集线器传输服务器)

  • 拒绝来自非 Exchange 服务器的传入邮件

  • 拒绝拾取目录和重播目录中的邮件提交

版本存储桶

中等

  • 引入或增加对传入邮件的缓送延迟。如果未达到整个版本存储桶历史记录深度的正常级别,请执行下列操作:

    • 拒绝来自非 Exchange 服务器的传入邮件

    • 拒绝拾取目录和重播目录中的邮件提交

版本存储桶

  • 引入或增加对传入邮件的缓送延迟。如果未达到整个版本存储桶历史记录深度的正常级别,请执行下列操作:

    • 拒绝来自其他 Exchange 服务器的传入邮件

    • 拒绝来自邮箱服务器上的存储驱动程序中的邮件提交(仅适用于集线器传输服务器)

    • 拒绝来自非 Exchange 服务器的传入邮件

    • 拒绝拾取目录和重播目录中的邮件提交

批处理点

中等

  • 引入或增加对传入邮件的缓送延迟。如果未达到整个批处理点历史记录深度的正常级别,请执行下列操作:

    • 拒绝来自非 Exchange 服务器的传入邮件

    • 拒绝拾取目录和重播目录中的邮件提交

批处理点

  • 引入或增加对传入邮件的缓送延迟。如果未达到整个批处理点历史记录深度的正常级别,请执行下列操作:

    • 拒绝来自其他 Exchange 服务器的传入邮件

    • 拒绝来自邮箱服务器上的存储驱动程序中的邮件提交(仅适用于集线器传输服务器)

    • 拒绝来自非 Exchange 服务器的传入邮件

    • 拒绝拾取目录和重播目录中的邮件提交

EdgeTransport.exe 进程使用的内存

中等

  • 拒绝来自非 Exchange 服务器的传入邮件

  • 拒绝拾取目录和重播目录中的邮件提交

  • 强制垃圾收集

EdgeTransport.exe 进程使用的内存

  • 拒绝来自其他 Exchange 服务器的传入邮件

  • 拒绝来自邮箱服务器上的存储驱动程序中的邮件提交(仅适用于集线器传输服务器)

  • 拒绝来自非 Exchange 服务器的传入邮件

  • 拒绝拾取目录和重播目录中的邮件提交

所有进程使用的内存

中等

  • 拒绝来自非 Exchange 服务器的传入邮件

  • 拒绝拾取目录和重播目录中的邮件提交

  • 强制垃圾收集

所有进程使用的内存

  • 拒绝来自其他 Exchange 服务器的传入邮件

  • 拒绝来自邮箱服务器上的存储驱动程序中的邮件提交(仅适用于集线器传输服务器)

  • 拒绝来自非 Exchange 服务器的传入邮件

  • 拒绝拾取目录和重播目录中的邮件提交

  • 从内存刷新增强的域名系统 (DNS) 缓存

  • 启动邮件冻结

返回顶部

EdgeTransport.exe.config 文件中的反压配置选项

反压功能的所有配置选项都位于 EdgeTransport.exe.config 应用程序配置文件中。有关 EdgeTransport.exe.config 文件的详细信息,请参阅了解 EdgeTransport.exe.Config 文件

小心警告:
列出的这些设置仅供参考。我们非常不鼓励对 EdgeTransport.exe.config 文件中的反压功能设置进行修改。对反压功能设置进行修改可能导致性能不佳或数据丢失。我们建议您调查并纠正可能遇到的任何反压事件的根本原因。

反压配置选项

参数名称 默认值

EnableResourceMonitoring

TRUE

ResourceMonitoringInterval

00:00:02

PercentageDatabaseDiskSpaceUsedHighThreshold

0. 该值指示将使用默认公式。

PercentageDatabaseDiskSpaceUsedMediumThreshold

0. 此值意味着实际值比 PercentageDatabaseDiskSpaceUsedHighThreshold 值低 2%。

PercentageDatabaseDiskSpaceUsedNormalThreshold

0. 此值意味着实际值比 PercentageDatabaseDiskSpaceUsedMediumThreshold 值低 2%。

PercentageDatabaseLoggingDiskSpaceUsedHighThreshold

0. 该值指示将使用默认公式。

PercentageDatabaseLoggingDiskSpaceUsedMediumThreshold

0. 此值意味着实际值比 PercentageDatabaseLoggingDiskSpaceUsedHighThreshold 值低 2%。

PercentageDatabaseLoggingDiskSpaceUsedNormalThreshold

0. 此值意味着实际值比 PercentageDatabaseLoggingDiskSpaceUsedMediumThreshold 值低 2%。

PercentagePrivateBytesUsedHighThreshold

0. 该值指示将使用默认计算。

PercentagePrivateBytesUsedMediumThreshold

0. 此值意味着实际值比 PercentagePrivateBytesUsedHighThreshold 值低 2%。

PercentagePrivateBytesUsedNormalThreshold

0. 此值意味着实际值比 PercentagePrivateBytesUsedMediumThreshold 值低 2%。

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

返回顶部

反压日志记录信息

以下列表介绍了 Exchange 2010 中特定反压事件生成的事件日志条目:

  • 因任何资源使用率级别的增加而生成的事件日志条目

    事件类型:错误

    事件来源:MSExchangeTransport

    事件类别:资源管理器

    事件 ID: 15004

    说明:资源压力已从先前使用率级别增加到当前使用率级别

  • 因任何资源使用率级别降低而生成的事件日志条目

    事件类型:信息

    事件源:MSExchangeTransport

    事件类别:资源管理器

    事件 ID: 15005

    说明:资源压力已从先前使用率级别降低到当前使用率级别

  • 非常低的可用磁盘空间的事件日志条目

    事件类型:错误

    事件源:MSExchangeTransport

    事件类别:资源管理器

    事件 ID: 15006

    说明:Microsoft Exchange 传输服务拒绝邮件,因为可用磁盘空间低于所配置的阀值。可能需要执行管理操作以释放磁盘空间,以便服务可以继续进行操作。

  • 非常低的可用内存事件日志条目

    事件类型:错误

    事件源:MSExchangeTransport

    事件类别:资源管理器

    事件 ID: 15007

    说明:Microsoft Exchange 传输服务拒绝邮件提交,因为服务继续消耗超过所配置的阀值的内存。可能需要重新启动该服务,才能继续正常操作。

返回顶部

 © 2010 Microsoft Corporation。保留所有权利。