「深入 Exchange 2013」19 邮件限制

这一章咱们来讲讲Exchange中对邮件的QOS设置,这些设置平常也许大多数场景中不会涉及到,因为需要大批量发送邮件的场景里都会用到邮件中间件(发送大量宣传邮件或者报表)。但是一旦让咱们碰上了,咱们也得知道从哪下手去调整这些设置不是,关于这个话题Technet上已经写得非常好了,咱这里也是做个总结和搬运。

在面对大批量邮件流量的时候,如何保证邮件流的处理井然有序,避免引起邮件阻塞,同时保护Exchange服务器防止其被过度使用,这是一个及其值得注意的问题。Exchange 2013当中引入了“邮件限制”(Message Throttling)这么一套算法来避免客户端无意或有意地造成 Exchange 服务器上的系统资源耗尽。当然,邮件限制设置值针对经过Exchange 2013传输系统的SMTP邮件流。

Exchange2013中的邮件限制算法比较复杂,它基于Exchange 2010 SP1中引入的QOS算法,通过邮件大小、收件人数量、传输频率来计算邮件的邮件的平均传递成本。三个值都高那么平均传递成本也会高,这里的“高”主要是指超过500个收件人或者是体积大于1MB的邮件。Exchange的限制服务会监视这些开销,并且为每个用户设定一个预期的开销值,一旦用户超过这个预期值,他的邮件就会被置为低优先级,就会耗费更多的时间去传递。(在发送邮件时,这里的优先级会覆盖任何用户手动设置的优先级。)Exchange的限制服务还会在邮箱数据库层面汇总RPC连接的平均延迟和每秒请求数,以获得一个可被量化的健康值,这个健康值就可以反映某个数据库当前的负载情况。这个值最终会影响此数据库中所有用户的预期开销。

这里还是说的比较笼统,而且都是比较不可控的Exchange内部原理性的东西,如果要深入了解以上说的这段话,请参考:邮件短信和邮件流限制https://technet.microsoft.com/zh-cn/library/bb232205(v=exchg.150).aspx#Cost

你可以在以下设置里调整邮件限制选项:

  1. 传输服务:Set-TransportService与Set-MailboxTransportService命令。一般情况下,管理员只需要针对外部流量进行限制,或者针对某一台或某几台特别忙的传输服务器进行限制设置。
  2. 接收连接器:Set-ReceiveConnector命令,同样的,需要注意这个设置是用来限制从组织外部进来的邮件流量。
  3. 发送连接器:Set-SendConnector命令

注意,默认的Exchange限制设置一般能满足大多数场景的需求,除非是性能监控上已经暴露出某些传输服务器、边缘服务器一直处于一个繁忙的负载状态。比如,在高峰时段有大量队列累计,且在高峰时段过了之后该队列依旧没有减少。这就有可能反应出该服务器处理能力已经跟不上,或者是其他的一些条件引起的,这些条件你可以通过调整参数来解决掉。下表汇总了你可以用来控制传输限制的不同参数。


命令集


参数


作用


Set-TransportService或Set-MailboxTransportService


MaxConcurrentMailboxDeliveries


此参数指定将邮件传递给邮箱时,传输服务可以打开的最大传递线程数。默认值为20,参数范围为1-256。微软特别表示:如非必要请在客户支持的建议下修改该值。


Set-TransportService 或

Set-MailboxTransportService


MaxConcurrentMailboxSubmissions


此参数指定从邮箱发送邮件时,传输服务可以打开的最大提交线程数。默认为20,参数范围为1-256。


Set-TransportService


MaxConnectionRatePerMinute


此参数指定允许入站连接对传输服务打开连接的最大速率。默认值为1200。


Set-TransportService 或

传输服务器属性


MaxOutboundConnections


此参数指定可以同时打开的最大出站连接数。如果输入值 unlimited,则不限制出站连接数。此参数的值必须大于或等于 MaxPerDomainOutboundConnections 参数的值。默认为1000

还可使用 “服务器” > “服务器” > “属性” > “传输限制” > “出站连接限制” 中的 EAC 配置该值。


Set-TransportService 或

传输服务器属性


MaxPerDomainOutboundConnections


此参数指定任何一个域的最大并发连接数。如果输入值 unlimited,则不限制每个域的出站连接数。默认为20

还可使用 “服务器” > “服务器” > “属性” > “传输限制” > “出站连接限制” 中的 EAC 配置该值。


Set-TransportService


PickupDirectoryMaxMessagesPerMinute


此参数指定分拣目录和重播目录每分钟处理的最大邮件数。每个目录都能够以此参数指定的速率独立处理邮件文件。默认为100


Set-ReceiveConnector


ConnectionInactivityTimeOut


此参数指定在关闭连接之前,已打开的、与源邮件传递服务器的 SMTP 连接可以保持空闲的最长时间。该参数的值必须小于 ConnectionTimeout 参数指定的值。

默认值:在邮箱服务器上的传输服务 5 分钟

在客户端访问服务器上的前端传输服务 5 分钟。

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


Set-ReceiveConnector


ConnectionTimeOut


此参数指定与源邮件传递服务器的 SMTP 连接可以保持打开状态的最长时间(即使源邮件传递服务器正在传输数据)。该参数的值必须大于 ConnectionInactivityTimeout 参数指定的值。

默认:在邮箱服务器上的传输服务 10 分钟

在客户端访问服务器上的前端传输服务 10 分钟。

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


Set-ReceiveConnector


MaxInboundConnection


此参数指定此接收连接器允许同时建立的最大入站 SMTP 连接数。

默认为5000


Set-ReceiveConnector


MaxInboundConnectionPercentagePerSource


此参数指定接收连接器允许同时从单个源邮件传递服务器建立的最大 SMTP 连接数。该值以接收连接器上的可用剩余连接百分比表示。接收连接器允许的最大连接数通过 MaxInboundConnection 参数定义。

默认:

100 % 在邮箱服务器上的传输服务中的默认接收连接器

2 % 在邮箱服务器上的传输服务器、客户端访问服务器上的前端传输服务中的其他接收连接器。


Set-ReceiveConnector


MaxInboundConnectionPerSource


此参数指定接收连接器允许同时从单个源邮件传递服务器建立的最大 SMTP 连接数。默认值:

unlimited 在邮箱服务器上的传输服务中的默认接收连接器(受MaxInboundConnection限制)

20 在邮箱服务器上的传输服务器、客户端访问服务器上的前端传输服务中的其他接收连接器。


Set-ReceiveConnector


MaxProtocolErrors


此参数指定在接收连接器断开与源邮件传递服务器的连接之前,接收连接器允许出现的最大 SMTP 协议错误数。默认为5次。


Set-ReceiveConnector


TarpitInterval


此参数指定缓送技术中使用的延迟。缓送技术是针对表明存在帐户搜集攻击或其他不受欢迎的邮件的特定 SMTP 通信模式,人为延迟 SMTP 响应的一种方法。帐户搜集攻击尝试从特定组织收集有效的电子邮件地址,作为商业垃圾邮件的目标。

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

默认为5 秒。


Set-SendConnector


ConnectionInactivityTimeOut


此参数指定在关闭连接之前,已打开的、与目标邮件传递服务器的 SMTP 连接可以保持空闲的最长时间。

默认为10分钟

最后还要一提的是,在 Exchange 2013 中,每个邮箱都具有 ThrottlingPolicy 设置。此设置的默认值为空 ($null)。可以创建好限制策略,然后在 Set-Mailbox cmdlet 上使用 ThrottlingPolicy 参数为需要应用的用户邮箱配置限制策略。一般不建议进行限制策略的修改,除非你非常在意这些用户对以下功能的资源占用,这里的设置主要是用户可通过特定连接或在特定时间内对 Exchange 执行的活动数量,这些设置会影响用户的预期开销值:

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

主要涉及到的命令就是Get/REMOVE/NEW/SET-ThrottlingPolicy,然后绑定到用户邮箱即可。

OK,邮件限制就聊到这里,下一章咱们聊聊另一个Exchange应对高峰流量时的自我保护措施-反压。

时间: 2025-01-02 13:47:39

「深入 Exchange 2013」19 邮件限制的相关文章

「深入 Exchange 2013」11 传输架构Part1

阅读过TechNet文档的人肯定对下面这张图不陌生,这张图完整诠释了整个Exchange 2013的邮件传输架构,前一章里已经简要讨论过的几个组件都在里头,然而还有一些其他的组件也值得深入讨论.首先咱们来聊聊图里边出现的重要词汇. 1."代理"在这里是指Agents,而非是proxy,即处理或者传输消息的某一块程序代码.图中的agents直接反映出Exchange的Business logic,例如Exchange的反垃圾和恶意软件筛选组件属于协议代理,路由代理.邮件传递代理和邮件提交

「深入 Exchange 2013」07 Autodisocver

微软在Exchange 2007里引入Autodiscover自动发现服务,意图去简化用户配置Outlook与Exchange ActiveSync的过程.Outlook的配置文件虽然可以手动配置,但是从Autodiscover会覆盖手动配置的选项,在你做出一些更改的时候,明显批量的自动下发配置更方便. Autodiscover还负责告诉Outlook当前的邮箱位置信息,Outlook会在与邮箱断开连接之后重新尝试Autodiscover.总而言之,这玩意儿跟Outlook Anywhere一样

「深入 Exchange 2013」14 接收连接器

接收连接器在概念上要比发送连接器简单一点,每个接收连接器只用侦听来自你分配给它的ip地址和端口的请求,然后将SMTP会话传送出去即可.接收连接器使用权限组来决定哪些发送者被允许使用该连接器,权限组则是预先定义好的一系列安全主体对某个对象(当前场景下则是接收连接器)所拥有的权限,比如说是"任何有邮箱账户的用户"即Exchange Users,或者是"组织里的任何Exchange Server"即Exchange Servers.这种模型类似于NTFS权限模型,先把用户

「深入 Exchange 2013」09 证书

今儿咱们来聊Exchange里的证书,CAS与MBX角色都有用到证书的地方,只是CAS角色更依赖证书一些,在一台Exchange服务器刚刚安装完成的时候,安装程序会自动生成一张自签名证书,这张自签名证书往往并不满足咱们的需求,所以咱们一般会向企业CA再去针对Exchange所涉及到的多个IIS服务的DNS备用名称申请合适的额证书. Exchange在哪些地方用到证书 1. 让客户端验证服务器的身份.这是最常规的用法,大多数管理员可能都碰到过证书名称不匹配引起的客户端报错. 2. 服务器去验证客户

「深入 Exchange 2013」01 客户端访问角色架构

Exchange 2013当中CAS角色的重要性不用多说.在Exchange Server4.0.5.0和5.5版本中,都没有特定的一个客户端访问功能角色,Exchange 2000引入了前端服务器的概念(front-end),这种服务器不存放任何邮箱数据,只提供客户端连接.一直到Exchange 2007,带来了第一次CAS角色的迭代:尔后在后面的产品中不断被加强改善. 在Exchange 2007的时候,CAS角色就已经负责以下三种类型的流量: 外部连接 内部连接 被其他CAS服务器重定向,

「深入 Exchange 2013」15 TLS传输层安全

默认情况下,SMTP流量是不被加密的,这就导致在公网上进行邮件沟通就像是在广播一样,任何人拦截到该邮件都可以轻而易举的读取其内容.但是现实场景中有许多敏感信息是通过邮件来进行发送的,所以其中一种保护邮件安全的方法就是使用传输层安全协议(Transport Layer Security)来提供SMTP流量在传输中的加密,受TLS保护的SMTP流量可以让拦截/窃听者无法读取到SMTP流量的内容,但是它只提供传输过程中的保护,对于已经到达目标服务器,或者是在发件方本地服务器的邮件则没法提供保护. 有两

「深入 Exchange 2013」13 发送连接器

啥是连接器? 连接器是一种存储在AD里的对象,被Exchange的传输服务所调用,以获取邮件流的逻辑连接路径.目前版本中连接器的大部分设置都只能在Exchange Management Shell里来设置,Exchange Administration Center(EAC)里并没有包含全部的选项(哪怕是之前版本里能够在EMC里设置的).图形界面下咱们主要通过EAC里,邮件流那块里头的接收连接器选项卡和发送连接器选项卡来配置连接器.当你选择了一个连接器之后,右侧的窗格里就会出来关于改连接器的一些

「深入 Exchange 2013」10 传输服务简述

前面的内容里面,已经为大家比较深入的介绍了Exchange2013的客户端访问角色涉及到的诸多细节.在接下来的章节里就跟大家聊一聊Exchange 2013里的传输服务,这一节总共的内容都比较多,而且更偏向理论,所以咱先来一篇简述,然后再分拆开一个一个讲. 在之前的版本中,由Exchange2007引入了Hub Transport(集线器传输)角色作为所有邮件信息的传递中枢,任何发送或者接收到的邮件都必然会经过至少一个Ex2010与Ex2007的集线器传输角色:那么在Exchange2013当中

「深入 Exchange 2013」12 传输架构Part2

本章接着上一章,简单说一下四个组件在Exchange Server 2013整个传输架构当中各自负责什么. 前端传输服务(The Front End Transport Service) FET服务在整个传输里边似乎工作量是最小的:它负责所有客户端的入站与出站SMTP流量,FET是SMTP流量通过防火墙之后所接触到的第一个组件,和其他在CAS上运行的服务组件一样,FET服务不存储任何邮件数据,也不维护任何的队列,以及提供基本上是无状态的客户端连接(对客户端连接不维护任何的状态信息).但是,FET