邮件限制

适用于:Exchange Server 2013

消息限制是指对可由 Microsoft Exchange Server 2013 计算机处理的消息数和连接数设置的一组限制。 这些限制可防止 Exchange 服务器上的系统资源意外或有意耗尽。

消息限制范围

邮件限制涉及对邮件处理速率、SMTP 连接速率和 SMTP 会话超时值的各种限制。 这些限制共同保护 Exchange 服务器,防止由于接受和交付邮件而导致过度使用。 尽管可能会有大量积压的邮件和连接等待处理,但是邮件限制使 Exchange 服务器可以有序地处理这些邮件和连接。

除了邮件限制外,还可以对邮件的各个组件设置大小限制,例如收件人数、邮件头的大小或单个附件的大小。 有关邮件大小限制的详细信息,请参阅邮件大小限制

有助于避免 Exchange 传输服务器的系统资源过大的另一个功能是 背压。 反向压力是邮箱服务器和边缘传输服务器上的传输服务中的系统资源监视功能。 当受监视的系统资源(如硬盘利用率或内存利用率)超过指定的阈值时,服务器会降低接受新连接和消息的速率,并专注于传递现有消息。 当受监视的系统资源的利用率恢复到正常级别时,服务器会慢慢提高接受新连接的速率,然后建立正常级别。

邮件成本和邮件流限制

为了提供更一致的消息吞吐量和可预测的邮件传递延迟,Exchange 2013 会建立邮件的累计成本。 此服务质量 (QoS) 功能已在 Microsoft Exchange Server 2010 SP1 中添加此成本基于以下条件:

  • 邮件大小
  • 收件人数量
  • 传输频率

Exchange 2013 传输服务器跟踪单个用户发送的邮件的平均传递成本。 通过使用邮件成本,Exchange 2013 提供了一组设置,可以控制用户或连接对 Exchange 组织的影响。 这组设置称为 限制策略。 当用户反复发送成本高昂的邮件(例如具有大型附件的邮件或发送给许多收件人的邮件)时,基于 Exchange 2013 的传输服务器使用限制策略为用户发送的较高成本的邮件分配较低的优先级,同时继续传递成本较低的邮件。 此新行为为 Exchange 2013 中的邮件限制功能添加了“服务质量”方面。

注意

从用户的角度来看,消息限制不会影响消息优先级。 消息仍保留用户设置的原始优先级。 例如,邮件保留“重要”或“紧急”设置,等等。

为了支持此功能,Exchange 2013 使用以下机制:

  • 内部优先级代理:此代理在 OnResolvedMessage 事件上触发,对来自同一发送方且累积成本较高的邮件分配较低的优先级。 此成本在一分钟内度量,影响收件人超过 500 个或大于 1 MB (MB 的邮件) 。

  • MapiDelivery 队列类型的基于配额的优先级队列:此机制使 Exchange 在正常优先级队列中传递消息的频率高于低优先级队列中的消息。 默认情况下,正常消息与低消息比率为 20:1。 但是,来自较低优先级队列的新消息的传递时间永远不会早于优先级较高的队列中的新项。 例如,请考虑以下情况。

    1. 传递了 20 条普通优先级消息。 默认情况下,下一个传递的消息是优先级较低的消息。
    2. 传输服务器接收两条新消息:一条消息来自较高优先级队列,另一条消息来自优先级较低的队列。

    在此方案中,首先传递来自较高优先级队列的消息。 然后,传递优先级较低的队列中的消息。

  • 根据消息传递数据库运行状况限制并发连接:此机制监视 Exchange 邮件数据库的运行状况 (MDB) 运行状况,并根据分配的运行状况度量值限制与 Exchange 传输服务器的并发连接。 MDB 由邮箱服务器上的传输服务中的 资源运行状况 Monitor API 监视,并为 MDB 分配一个从 -1 到 100 的运行状况值。 此值基于邮箱传输服务中Store.exe进程的每个 RPC 响应中包含的 RPC 性能统计信息。 资源运行状况框架使用请求/秒速率性能计数器和平均 RPC 延迟性能计数器来计算数据库的运行状况值。 为了帮助维护一致的交互式用户体验,Exchange 会随着运行状况值降低而减少并发连接数。 以下运行状况值范围可用:

    • -1:此值指示 MDB 运行状况状态未知。 此值在数据库启动时分配。 在此方案中,数据库被视为正常。
    • 0:如果数据库处于不正常状态,则会分配此值。 在此状态下,不应联系数据库。
    • 1 到 99:这些值表示一个公平的运行状况状态。 较小的值表示不太正常的数据库。
    • 100:此值表示正常运行的数据库。

Microsoft Exchange 限制服务为邮件流限制提供了框架。 Microsoft Exchange 限制服务跟踪特定用户的邮件流限制设置,并将限制信息缓存在内存中。 邮件流限制设置也称为“预算”。 重启 Microsoft Exchange 限制服务也会重置邮件流限制预算。

可以使用 Exchange 2013 中可用的限制策略 cmdlet 为限制策略配置单个预算设置。 预算是用户或应用程序对特定设置可能具有的访问权限量。 预算表示用户可能具有多少连接,或者用户在每个一分钟的时间段内可以允许多少活动。 例如,可将预算配置为设置用户在 Exchange 中使用特定功能(例如 ActiveSync、Outlook Web App 或 Exchange Web Services)所花费的时间。 此阈值存储在限制策略中,并定义预算。

预算的时间设置设置为 1 分钟的百分比。 因此,100% 的阈值表示 60 秒。 例如,假设你想要指定Outlook Web App策略设置,这些设置限制用户在客户端访问服务器上运行Outlook Web App代码的时间,以及用户在一分钟内与客户端访问服务器通信的时间限制为 600 毫秒。 为此,对于以下两个参数,需要将值设置为 1 分钟 (600 毫秒) 的 1%:

  • OWAPercentTimeInCAS: 1
  • OWAPercentTimeInMailboxRPC: 1

应用此策略的用户的 OWAPercentTimeInCAS 预算为 600 毫秒,OWAPercentageTimeInMailboxRPC 的预算为 600 毫秒。 在此方案中,当用户登录到Outlook Web App时,用户可以运行客户端访问代码长达 600 毫秒。 600 毫秒后,连接被视为超出预算,在达到预算限制一分钟后,Exchange 服务器不允许执行任何进一步Outlook Web App操作。 一分钟后,用户可以再运行 600 毫秒Outlook Web App客户端访问代码。

服务器上的消息限制

可以在以下位置设置消息限制选项:

  • 在传输服务中
  • 在发送连接器上
  • 在接收连接器上

可以使用 Exchange 命令行管理程序设置邮箱服务器上的传输服务、邮箱服务器上的邮箱传输服务或客户端访问服务器上的前端传输服务中可用的所有邮件限制选项。 还可以通过在 Exchange 管理中心配置传输服务器属性来设置一些相同的选项, (EAC) 。

下表显示了传输服务器上可用的消息限制选项。

传输服务器上的消息限制选项

Source 参数 默认值 描述
Set-TransportService

Set-MailboxTransportService
MaxConcurrentMailboxDeliveries 20 此参数指定传输服务可以同时打开的最大传递线程数,以便将邮件传递到邮箱。 此参数的有效输入范围是 1 到 256。 建议您不要修改默认值,除非 Microsoft 客户服务和支持人员建议您这样做。
Set-TransportService

Set-MailboxTransportService
MaxConcurrentMailboxSubmissions 20 此参数指定传输服务可以同时打开以从邮箱发送邮件的最大提交线程数。 此参数的有效输入范围是 1 到 256。
Set-TransportService MaxConnectionRatePerMinute 1200 此参数指定允许使用传输服务打开连接的最大速率。 如果同时有许多连接尝试访问传输服务,MaxConnectionRatePerMinute 参数将限制打开连接的速率,以免服务器的资源负荷过重。
Set-TransportService

传输服务器属性
MaxOutboundConnections 1000 此参数指定一次可以打开的最大出站连接数。 如果输入的值 unlimited,则不会对出站连接数施加限制。 此参数的值必须大于或等于 MaxPerDomainOutboundConnections 参数的值。

还可以在服务器>>服务器属性>传输限制出站连接限制>中使用 EAC 配置此值。
Set-TransportService

传输服务器属性
MaxPerDomainOutboundConnections 20 此参数指定到任何单个域的最大并发连接数。 如果输入值 unlimited,则不会对每个域的出站连接数施加限制。 此参数的值必须大于或等于 MaxOutboundConnections 参数的值。

还可以在服务器>>服务器属性>传输限制出站连接限制>中使用 EAC 配置此值。
Set-TransportService PickupDirectoryMaxMessagesPerMinute 100 此参数指定由 Pickup 目录和 Replay 目录每分钟处理的最大消息数。 每个目录可以按此参数指定的速率独立处理消息文件。

发送连接器上的邮件限制

下表显示了发送连接器上可用的消息限制选项。 需要使用 Exchange 命令行管理程序配置此选项。

发送连接器上可用的消息限制选项

Source 参数 默认值 描述
Set-SendConnector ConnectionInactivityTimeOut 10 分钟 This parameter specifies the maximum time that an open SMTP connection with a destination messaging server can remain idle before the connection is closed.

接收连接器上的邮件限制

下表显示了邮箱服务器或边缘传输服务器上的传输服务中配置的接收连接器上可用的邮件限制选项。 需要使用 Exchange 命令行管理程序来配置这些选项。

接收连接器上可用的消息限制选项

Source 参数 默认值 描述
Set-ReceiveConnector ConnectionInactivityTimeOut 在客户端访问服务器上的前端传输服务 5 分钟。

在边缘传输服务器上 1 分钟。

1 minute on Edge Transport servers.
此参数指定与源邮件服务器的打开 SMTP 连接在连接关闭之前可以保持空闲的最长时间。 此参数的值必须小于 ConnectionTimeout 参数指定的值。
Set-ReceiveConnector ConnectionTimeOut 在客户端访问服务器上的前端传输服务 10 分钟。

在边缘传输服务器上 5 分钟。

5 minutes on Edge Transport servers.
此参数指定与源消息传送服务器的 SMTP 连接保持打开状态的最长时间,即使源消息服务器正在传输数据也是如此。 此参数的值必须大于 ConnectionInactivityTimeout 参数指定的值。
Set-ReceiveConnector MaxInboundConnection 5000 此参数指定此接收连接器同时允许的最大入站 SMTP 连接数。
Set-ReceiveConnector MaxInboundConnectionPercentagePerSource 邮箱服务器上的传输服务中默认接收连接器的 100%

在邮箱服务器上的传输服务中,在客户端访问服务器上的前端传输服务的其他接收连接器上为 2%。
此参数指定接收连接器同时允许从单个源邮件服务器建立的最大 SMTP 连接数。 该值以接收连接器上的可用剩余连接百分比表示。 接收连接器允许的最大连接数由 MaxInboundConnection 参数定义。
Set-ReceiveConnector MaxInboundConnectionPerSource 邮箱服务器上的传输服务中的默认接收连接器不受限制

在邮箱服务器上的传输服务中的其他接收连接器上,在客户端访问服务器上的前端传输服务中为 20。
此参数指定接收连接器同时允许从单个源邮件服务器建立的最大 SMTP 连接数。
Set-ReceiveConnector MaxProtocolErrors 5 此参数指定在接收连接器关闭与源消息传送服务器的连接之前,接收连接器允许的最大 SMTP 协议错误数。
Set-ReceiveConnector TarpitInterval 5 秒 此参数指定在 延迟中使用的延迟。 延迟是人为延迟特定 SMTP 通信模式的 SMTP 响应的做法,这些模式指示目录收集攻击或其他不受欢迎的邮件。 目录收获攻击是尝试从特定组织收集有效的电子邮件地址,以用作未经请求的商业电子邮件的目标。

由 TarpitInterval 参数指定的延迟仅适用于匿名连接。

消息限制策略

在 Exchange 2013 中,每个邮箱都有 一个 ThrottlingPolicy 设置。 此设置的默认值为空白 ($null) 。 可以使用 Set-Mailbox cmdlet 上的 ThrottlingPolicy 参数为邮箱配置限制策略。

存在默认限制策略,可为连接到 Exchange 的用户提供默认设置的预算配置。 若要为一个或多个用户配置自定义预算设置,请创建新的限制策略。 然后,将策略应用于相应的用户或组。

重要

建议不要修改默认限制策略。

可以在 Exchange 命令行管理程序中设置邮箱服务器上可用的所有邮件限制选项。 以下 cmdlet 可用于管理限制策略:

  • Get-ThrottlingPolicy
  • Remove-ThrottlingPolicy
  • New-ThrottlingPolicy
  • Set-ThrottlingPolicy

可以使用 New-ThrottlingPolicySet-ThrottlingPolicy cmdlet 配置用户在特定连接或时间段内对 Exchange 执行的活动量。 这些设置构成了用户的预算。 可以建立限制策略来控制对以下 Exchange 功能的访问:

  • Exchange ActiveSync
  • Exchange Web 服务
  • Outlook Web App
  • 统一消息
  • IMAP4
  • POP3
  • outlook 客户端连接 (MAPI 或 RPC 连接)
  • 邮件流设置
  • PowerShell 命令
  • CPU 使用率