我使用postfix来完成我写的邮件系统的最终交付。 所以这个后缀安装只接受来自我的邮件,并popup。 当后缀队列为空时,可以在5ms左右接收一个邮件。 当队列有150k-200k左右的信息时,从我到postfix的切换速度真的很慢,比如50-100到500ms。
我在每一个SMTP对话中都有日志时间,所以我可以看到时间在哪里。 其中一些是我在等待RCPT TO命令的响应,但是在发送最后一个点之后绝大多数时间消失了,然后我才得到“250排好队列…”的响应。
我想也许RCPT延迟是在DNS查找,但这并不帮助我的排队时间。 我为所发送的所有电子邮件保留一个TCP套接字,并为每个邮件进行RSET对话,因此不必花费时间创build和断开TCP连接,这一切都在等待postfix对邮件进行排队。
我读过的关于性能调优postfix的所有内容都与队列pipe理有关,并为这个和那个域发送邮件。 但是我担心只能让postfix快速接收邮件。
有没有什么办法可以找出这个postfix在这个时候正在做什么,还是有办法让它变得更快? / var / spool / postfix队列在本地磁盘上,所以我不能更快。
有什么build议么?
在main.cf设置以下内容
hash_queue_depth = 3 hash_queue_names = deferred, defer, incoming, active
这将在传入队列和活动队列中生成子目录,以便平面目录不会一次包含所有邮件。 他们现在被放入子目录。
但是请注意:有150k-200k的邮件在等待发送,这显示了对邮件均衡发送的错误理解。 这看起来像垃圾邮件给我…
其中一个解决scheme是有一个辅助邮件服务器来处理所有正在等待交付的反弹,这是保持真正的电子邮件通过的最好的解决scheme。