none
exchange2016 队列查看器 错入问题 RRS feed

  • 问题

  • 接到报警提示邮件队列过长

    查看队列查看器发现有大量邮件堆在队列里

    看到如下错误

    上一错误: 432 4.3.2 STOREDRV.Deliver; recipient thread limit exceeded[retryinterval=00:00:46.7896546][retryqueue=False][retryscopetype=Recipient]

    请问收件人线程限制是多少?

    在哪里可以修改线程限制?

    是否有官网说明?

    2020年5月13日 10:29

答案

  • 您好,

    收件人线程限制是从Exchange 2010 SP1开始新增的一个限制,默认值是1。

    对于当前在您Exchange 2016环境中出现的这个报错, 可以参考下面的步骤把限制调高:

    1. 定位到:C:\Program Files\Microsoft\Exchange server\V15\Bin。
    2. 找到并打开MSExchangedelivery.exe.config文件,增加下面两条:

    <add key="RecipientThreadLimit" value="2" />  
    <add key="MaxMailboxDeliveryPerMdbConnections" value="3" />

     3. 保存文件,然后重启以下两个服务:
    Microsoft Exchange Transport (MSExchangeTransport)
    Microsoft Exchange Mailbox Transport Delivery (MSExchangeDelivery)

    更多信息,您可以参考下面的两个英文官方文档:
    Store Driver Fault Isolation Improvements in Exchange 2010 SP1
    Exchange 2010 Troubleshooting: 432 4.3.2 STOREDRV.Deliver; recipient thread limit exceeded
    (注意:以上文档主要针对Exchange2010,对于Exchange 2016,需要在相同路径下的MSExchangedelivery.exe.config文件中修改,另外,保存文件后,需要重启MSExchangeTransport和MSExchangeDelivery两个服务。)

    希望上述信息能帮到您。

    此致, 

    Yuki Sun


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.


    2020年5月14日 3:08
  • 您好,

    官方博客的说明中没有提到具体的最大值限制,但对于MaxMailboxDeliveryPerMdbConnections的设置,建议不要超过4RecipientThreadLimit则相应的要至少减1。如果改得过大,可能会造成资源不足的问题。

    建议您先按照上一个回复中提到的设置,在默认值的基础上增加1,看下队列中的邮件能否出去。大多数情况下,增加1就已经足以解决当前报错。如果增加1没有改善的话,您可以再考虑往上+1

    这部分信息您可以参考我在上述回复中给的第一个博客链接:
    Store Driver Fault Isolation Improvements in Exchange 2010 SP1

    此致,

    Yuki Sun


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    • 已标记为答案 绅士aa 2020年5月14日 6:44
    2020年5月14日 6:41

全部回复

  • 您好,

    收件人线程限制是从Exchange 2010 SP1开始新增的一个限制,默认值是1。

    对于当前在您Exchange 2016环境中出现的这个报错, 可以参考下面的步骤把限制调高:

    1. 定位到:C:\Program Files\Microsoft\Exchange server\V15\Bin。
    2. 找到并打开MSExchangedelivery.exe.config文件,增加下面两条:

    <add key="RecipientThreadLimit" value="2" />  
    <add key="MaxMailboxDeliveryPerMdbConnections" value="3" />

     3. 保存文件,然后重启以下两个服务:
    Microsoft Exchange Transport (MSExchangeTransport)
    Microsoft Exchange Mailbox Transport Delivery (MSExchangeDelivery)

    更多信息,您可以参考下面的两个英文官方文档:
    Store Driver Fault Isolation Improvements in Exchange 2010 SP1
    Exchange 2010 Troubleshooting: 432 4.3.2 STOREDRV.Deliver; recipient thread limit exceeded
    (注意:以上文档主要针对Exchange2010,对于Exchange 2016,需要在相同路径下的MSExchangedelivery.exe.config文件中修改,另外,保存文件后,需要重启MSExchangeTransport和MSExchangeDelivery两个服务。)

    希望上述信息能帮到您。

    此致, 

    Yuki Sun


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.


    2020年5月14日 3:08
  • 感谢答复!

    请问这个值,是否有最大和最小限制?

    如果改的过大是否会影响服务器性能?或者其他影响?

    微软是否有最佳实践的配置推荐?


    • 已编辑 绅士aa 2020年5月14日 4:26 错别字
    2020年5月14日 4:25
  • 您好,

    官方博客的说明中没有提到具体的最大值限制,但对于MaxMailboxDeliveryPerMdbConnections的设置,建议不要超过4RecipientThreadLimit则相应的要至少减1。如果改得过大,可能会造成资源不足的问题。

    建议您先按照上一个回复中提到的设置,在默认值的基础上增加1,看下队列中的邮件能否出去。大多数情况下,增加1就已经足以解决当前报错。如果增加1没有改善的话,您可以再考虑往上+1

    这部分信息您可以参考我在上述回复中给的第一个博客链接:
    Store Driver Fault Isolation Improvements in Exchange 2010 SP1

    此致,

    Yuki Sun


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    • 已标记为答案 绅士aa 2020年5月14日 6:44
    2020年5月14日 6:41