警告: |
|---|
|
我们非常不鼓励对生产服务器上 EdgeTransport.exe.config 文件中的反压功能设置进行修改。对反压功能设置进行修改可能导致性能不佳或数据丢失。建议您在修改反压功能设置之前,调查您可能遇到的反压事件的根本原因并进行更正。
|
反压功能的所有配置选项都位于 EdgeTransport.exe.config 应用程序配置文件中,该配置文件位于 C:\Program Files\Microsoft\Exchange Server\Bin 目录中。EdgeTransport.exe.config 文件是与 EdgeTransport.exe 文件关联的 XML 应用程序配置文件。EdgeTransport.exe 和 MSExchangeTransport.exe 是 Microsoft Exchange 传输服务所使用的可执行文件。此服务在每台集线器传输服务器或边缘传输服务器上运行。保存到 EdgeTransport.exe.config 文件的更改在 Microsoft Exchange 传输服务重新启动之后应用。如果符合下列条件之一,将强制使用默认值:
以下示例显示了 EdgeTransport.exe.config 文件的典型结构:
<configuration>
<runtime>
<gcServer enabled="true" />
</runtime>
<appSettings>
<add key="
配置选项
" value="
值
" />
...
</appSettings>
</configuration>
可以在 <appSettings> 部分中添加新的配置选项或修改现有的配置选项。很多可以使用的配置选项都与反压功能完全无关。所有与反压功能无关的配置选项都不在本主题的讨论范围内。
注意: |
|---|
<add key=../> 部分中的参数名称区分大小写。
|
表 1 给出了 EdgeTransport.exe.config 文件中提供的可用于反压功能的一般配置选项。
表 1 一般反压功能选项
|
参数名称
|
说明
|
|---|
|
EnableResourceMonitoring
|
此参数用于启用或禁用反压功能。默认值为 TRUE。
|
|
ResourceMonitoringInterval
|
此参数用于控制检查系统资源使用率级别的时间间隔。若要指定值,请输入一个时间跨度:hh:mm:ss,其中 h = 小时,m = 分钟,s = 秒。默认值为 00:00:02。此参数的有效范围为 00:00:01 至 00:00:30。
|
监视邮件队列数据库的可用硬盘驱动器空间
默认情况下,邮件队列数据库存储在 C:\Program Files\Microsoft\ExchangeServer\TransportRoles\data\Queue。该位置由 EdgeTransport.exe.config 文件中的 QueueDatabasePath 参数控制。
有关邮件队列数据库的详细信息,请参阅管理队列数据库。
默认情况下,使用以下公式计算高级别的硬盘驱动器空间使用率:
100*(硬盘驱动器大小 - 固定常量) / 硬盘驱动器大小
在正式发布 (RTM) 版本的 Microsoft Exchange Server 2007 中,固定常量的值为 4 GB。
在 Microsoft Exchange Server 2007 Service Pack 1 (SP1) 中,固定常量的值为 500 MB。
该公式的结果用所用硬盘驱动器空间占全部硬盘驱动器空间百分比的形式表示。无论硬盘驱动器的空间为多大,该公式确保始终有可用硬盘驱动器空间供邮件队列数据库使用。该公式的结果总是向下舍入为最接近的整数。
默认情况下,中等级别硬盘驱动器使用率比高级别硬盘驱动器使用率低 2%。默认情况下,正常级别硬盘驱动器使用率比高级别硬盘驱动器使用率低 4%。随着可用硬盘驱动器空间不断减少,硬盘驱动器使用率会升高。
通过在 EdgeTransport.exe.config 文件中指定值,可以覆盖高级别、中等级别、正常级别硬盘驱动器使用率的默认计算。表 2 给出了 EdgeTransport.exe.config 文件中提供的用于监视邮件队列数据库可用硬盘驱动器空间的选项。
表 2 用于监视邮件队列数据库可用硬盘驱动器空间的选项
|
参数名称
|
默认值
|
有效输入范围
|
|---|
|
PercentageDatabaseDiskSpaceUsedHighThreshold
|
0. 该值指示将使用默认公式。
|
3 至 100
|
|
PercentageDatabaseDiskSpaceUsedMediumThreshold
|
0. 该值指示实际值比 PercentageDatabaseDiskSpaceUsedHighThreshold 值低 2%。
|
3 至 100。此值必须小于 PercentageDatabaseDiskSpaceUsedHighThreshold 值。
|
|
PercentageDatabaseDiskSpaceUsedNormalThreshold
|
0. 该值指示实际值比 PercentageDatabaseDiskSpaceUsedMediumThreshold 值低 2%。
|
3 至 100。此值必须小于 PercentageDatabaseDiskSpaceUsedMediumThreshold 值。
|
重要信息: |
|---|
如果将硬盘驱动器空间使用率的反压限制设置为其默认级别,边缘传输服务器或集线器传输服务器上用于存储邮件队列数据库的硬盘驱动器必须具有固定大小的可用硬盘驱动器空间。在 Exchange 2007 RTM 中,所需的可用硬盘驱动器空间大小为 4 GB。在 Exchange 2007 SP1 中,所需的可用硬盘驱动器空间为 500 MB。如果可用空间小于所需的可用硬盘驱动器空间大小,则将硬盘驱动器使用率级别视为高级别。因此,所有邮件都将停止流动。在这种情况下,您必须执行下列步骤之一:
- 将邮件队列数据库重定位到另一个具有更多可用空间的硬盘驱动器中。有关详细信息,请参阅如何更改队列数据库的位置。
- 增大 PercentageDatabaseDiskSpaceUsedHighThreshold、PercentageDatabaseDiskSpaceUsedMediumThreshold 或 ercentageDatabaseDiskSpaceUsedNormalThreshold 参数的值。
|
监视邮件队列数据库事务日志的可用硬盘驱动器空间
默认情况下,邮件队列数据库事务日志存储在 C:\Program Files\Microsoft\ExchangeServer\TransportRoles\data\Queue。该位置由 EdgeTransport.exe.config 文件中的 QueueDatabaseLoggingPath 参数控制。
有关邮件队列数据库的详细信息,请参阅管理队列数据库。
EdgeTransport.exe.config 文件包含一个 QueueDatabaseCheckPointDepthMax 参数,其默认值为 20 MB。此参数控制硬盘驱动器中所有未提交事务日志允许占用的总大小。在计算硬盘驱动器使用率的公式中,将使用此参数。
注意: |
|---|
|
QueueDatabaseCheckPointDepthMax 参数的值将应用于集线器传输服务器或边缘传输服务器上所有与传输相关的可扩展存储引擎 (ESE) 数据库。这包括邮件队列数据库和 IP 筛选数据库。如果将 QueueDatabaseCheckPointDepthMax 参数的值设置得太低,则会导致重大的性能问题,因为这样会强制将未提交的事务提交到数据库,而不是将其写入事务日志中。建议您不要修改 QueueDatabaseCheckPointDepthMax 参数的默认值。
|
默认情况下,使用以下公式计算高级别的硬盘驱动器使用率:
100*(硬盘驱动器大小 - 25*DatabaseCheckPointDepthMax) / 硬盘驱动器大小
如果 DatabaseCheckPointDepthMax 参数使用默认值 20 MB,则无论硬盘驱动器的空间为多大,始终保留 500 MB 供邮件队列数据库事务日志使用。该公式的结果总是向下舍入为最接近的整数。
默认情况下,中等级别硬盘驱动器使用率比高级别硬盘驱动器使用率低 2%。正常级别硬盘驱动器使用率比高级别硬盘驱动器使用率低 4%。随着可用硬盘驱动器空间不断减少,硬盘驱动器使用率会升高。
通过在 EdgeTransport.exe.config 文件中指定值,可以覆盖高级别、中等级别、正常级别硬盘驱动器使用率的默认计算。表 3 给出了 EdgeTransport.exe.config 文件中提供的用于监视邮件队列数据库事务日志可用硬盘驱动器空间的选项。
表 3 用于监视邮件队列数据库事务日志可用硬盘驱动器空间的选项
|
参数名称
|
默认值
|
有效输入范围
|
|---|
|
PercentageDatabaseLoggingDiskSpaceUsedHighThreshold
|
0. 该值指示将使用默认公式。
|
3 至 100
|
|
PercentageDatabaseLoggingDiskSpaceUsedMediumThreshold
|
0. 该值指示实际值比 PercentageDatabaseLoggingDiskSpaceUsedHighThreshold 值低 2%。
|
3 至 100。此值必须小于 PercentageDatabaseLoggingDiskSpaceUsedHighThreshold 值。
|
|
PercentageDatabaseLoggingDiskSpaceUsedNormalThreshold
|
0. 该值指示实际值比 PercentageDatabaseLoggingDiskSpaceUsedMediumThreshold 值低 2%。
|
3 至 100。此值必须小于 PercentageDatabaseLoggingDiskSpaceUsedMediumThreshold 值。
|
监视内存中的未提交邮件队列数据库事务数目
在可将对邮件队列数据库的更改提交到事务日志之前,会将该更改列表保存在内存中。然后,会将该列表提交给邮件队列数据库自身。这些保存在内存中的未完成邮件队列数据库事务被称为“版本存储桶”。版本存储桶数目可能会因病毒、邮件队列数据库完整性问题或硬盘驱动器性能而增大到不可接受的数目。
通过在 EdgeTransport.exe.config 文件中指定值,可以覆盖高级别、中等级别、正常级别的版本存储桶数目的默认值。表 4 给出了 EdgeTransport.exe.config 文件中提供的用于监视版本存储桶的选项。
表 4 用于监视版本存储桶数目的选项
|
参数名称
|
Exchange 2007 RTM 中的默认值
|
Exchange 2007 SP1 中的默认值
|
有效输入范围
|
|---|
|
VersionBucketsHighThreshold
|
100
|
200
|
1 至 8000
|
|
VersionBucketsMediumThreshold
|
60
|
120
|
1 至 8000。此值必须小于 VersionBucketsHighThreshold 值。
|
|
VersionBucketsNormalThreshold
|
40
|
80
|
1 至 8000。此值必须小于 VersionBucketsMediumThreshold 值。
|
监视 EdgeTransport.exe 进程使用的内存大小
默认情况下,使用以下公式计算 EdgeTransport.exe 进程使用的高级别内存使用率:
总物理内存的 75% 或 1 TB,选择二者中较小的值
上述计算并未包括硬盘驱动器上页面文件中可用的虚拟内存,也未包括其他进程使用的内存。该公式的结果用 EdgeTransport.exe 进程所用内存占全部内存百分比的形式表示。该公式的结果总是向下舍入为最接近的整数。
默认情况下,EdgeTransport.exe 文件的中等级别内存使用率为总物理内存的 73%,或为比高级别内存使用率低 2% 的值,选择二者中较小的值。默认情况下,EdgeTransport.exe 文件的正常级别内存使用率为总物理内存的 71%,或为比高级别内存使用率低 4% 的值,选择二者中较小的值。随着可用内存不断减少,内存使用率会升高。
通过在 EdgeTransport.exe.config 文件中指定值,可以覆盖 EdgeTransport.exe 进程的高级别、中等级别、正常级别内存使用率的默认计算。表 5 给出了 EdgeTransport.exe.config 文件中提供的用于监视 EdgeTransport.exe 进程所用内存大小的选项。
表 5 用于监视 EdgeTransport.exe 进程所用内存大小的选项
|
参数名称
|
默认值
|
有效输入范围
|
|---|
|
PercentagePrivateBytesUsedHighThreshold
|
0. 该值指示将使用默认计算。
|
3 至 100
|
|
PercentagePrivateBytesUsedMediumThreshold
|
0. 该值指示实际值比 PercentagePrivateBytesUsedHighThreshold 值低 2%。
|
3 至 100。此值必须小于 PercentagePrivateBytesUsedHighThreshold 值。
|
|
PercentagePrivateBytesUsedNormalThreshold
|
0. 该值指示实际值比 PercentagePrivateBytesUsedMediumThreshold 值低 2%。
|
3 至 100。此值必须小于 PercentagePrivateBytesUsedMediumThreshold 值。
|
监视全部进程使用的内存大小
默认情况下,全部进程的高级别内存使用率为总物理内存的 94%。此值并不包括硬盘驱动器上页面文件中可用的虚拟内存。随着可用内存不断减少,内存使用率会升高。
达到指定的内存使用率级别时,会出现“邮件冻结”情况。邮件冻结是一个删除内存中缓存的排队邮件的不必要元素的操作。为了提高性能,完成的邮件都缓存在内存中。因为邮件是从邮件队列数据库中直接读取的,所以删除内存中排队邮件的 MIME 内容可减少内存使用量,但会出现较高延迟。默认情况下,会启用邮件冻结。可以在 EdgeTransport.exe.config 应用程序配置文件中启用或禁用邮件冻结。
通过在 EdgeTransport.exe.config 文件中指定较高的值,可以覆盖全部进程的高级别内存使用率的默认值。表 6 给出了 EdgeTransport.exe.config 文件中提供的用于监视全部进程所用内存大小的选项。
表 6 EdgeTransport.exe.config 文件中提供的用于监视全部进程所用内存大小的选项
|
参数名称
|
默认值
|
有效输入范围
|
|---|
|
DehydrateMessagesUnderMemoryPressure
|
TRUE
|
TRUE 或 FALSE
|
|
PercentagePhysicalMemoryUsedLimit
|
94
|
3 至 100
|