我发送电子邮件的目的地之一具有不寻常的性能特征。活动队列可能会填满此域的邮件,从而阻止向其他域发送邮件。我想限制此域使用的活动队列中的插槽数量。
作为临时措施,该域的流量通过专用中继进行路由,我设置了:
default_recipient_refill_limit=50
default_recipient_limit=1000
活动队列大小的上限仍为默认值 20000。按照上述方法修改 main.cf 后,我运行了 和postfix check
。systemctl reload postfix
日志显示了重新加载事件。
然而,我的监控显示,几个小时后,活动队列在 2 分钟内跃升至 20000。也就是说,似乎没有应用速率或消息上限。它保持在 20000 几分钟。
监控由 check_MK 进行 - 虽然我很容易相信它可能报告了来自传入队列和活动队列的计数,但 20000 的稳定值表明情况并非如此。
我在这里遗漏了什么?/我如何限制从传入消息移动到活动消息的数量或速度?
(我需要一个可以使用自定义传输实现的解决方案,这样我就可以通过共享中继将流量移回)。
这是在 Amazon Linux 2 上运行的 Postfix 2.10,MTA 上没有配置将在活动队列中展开的分发列表。请注意,我不是询问如何更快地向该域传递邮件 - 我问如何限制活动队列中的关联消息的数量。
答案1
经过进一步调查,似乎除了 $qmgr_message_active_limit 中定义的数量之外,没有其他方法可以限制添加到活动队列的消息数量。
我上面列出的指令处理配送清单的扩展后消息位于活动队列中。
它已建议适当的反应是使活动队列变得更大,但是在这种情况下存在遇到 OOMKiller 的风险。