Sendmail调整批量邮件作业

我有一个web服务器作为一个批处理作业发送电子邮件到一个sendmail中继服务器。 邮件需要尽可能快地被中继sendmail服务器接受,但是,他们不需要很快出去(被中继)。

我试图连接到中继服务器,从networking服务器偶尔看到一些暂停。 目前的负载是几秒钟约30个电子邮件。

在sendmail调优指南中,有很多调优选项可用于sendmail。

我现在所关注的是交付模式:

交付模式

SendMode(d)configuration选项设置了sendmail可以运行的多种传送模式。 这些模式指定邮件传送的速度。 合法模式是:

我以交互方式交付(同步)b在后台交付(asynchronous)q只有队列(不交付)d推迟交付尝试(不交付)有折衷。 模式我给发件人最快的反馈,但可能会减慢一些邮件,几乎没有必要。 模式b可以及时提供,但是如果您的邮件程序需要很长时间才能发送消息,则可能会导致大量进程。 模式q将机器上的负载降到最低,但意味着交付可能会延迟到队列间隔。 模式d与模式q相同,只是它也阻止在包括-D标志的映射中查找在初始队列阶段工作; 它旨在“按需拨号”的网站,其中DNS查找可能花费真钱。 一些简单的错误消息(例如,在SMTP协议期间未知的主机)将被延迟使用这种模式。 模式b是通常的默认模式。 如果以模式q(仅限队列)运行,d(延迟)或b(在后台交付),sendmail将不会在最初收到邮件时扩展别名并跟踪.forward文件。 这加快了对RCPT命令的响应速度。 我不应该使用SMTP服务器的模式。

我目前有CentOS的默认模式:

Sendmail.cf:

DeliveryMode=background 

Submit.cf:

 DeliveryMode=i 
  • sendmail.cf/mc是用于从中继传出的电子邮件(到intertubes)和sumbit.cf/mc用于传入eamil(从我的web服务器)。
  • 将传出交付模式更改为队列是否有意义? 如果我这样做了,出站电子邮件stream会有什么样的performance?
  • 如果这是正确的事情,任何人都可以向我展示这个变化的例子MCconfiguration? 如果不是,这些限制有什么build议?

凯尔,

**我绝不是sendmail专家**

在你的用例中,sendmail接收/排队消息的需要是关键(批处理?)。 如果没有,请查看sendmail选项:QueueLA和RefuseLA – 队列加载平均和拒绝加载平均。 如果你真的在轰炸sendmail,你的负载平均值将很快到达屋顶,你会碰到RefuseLA,这可能是你的超时问题的一部分。 你可能想增加RefuseLA(如果你还没有)。

让sendmail不要马上做太多(接收和发送)降低QueueLA。 QueueLA的值越低,sendmail就进入队列模式,sendmail将把重点放在队列工作上,并保存后续的传输/发送工作。 QueueLA较低,RefuseLA较高会导致系统排队大量邮件(磁盘空间),然后在负载低于QueueLA后开始发送。

对于正常的sendmailconfiguration,值得注意的是QueueLA不应该比RefuseLA低得多,可能它应该稍微高一些。

传递模式'q'是一个低QueueLA设置的极端版本​​,你必须以某种方式启动一个传递命令来开始出站邮件传输。

资源: http : //www.brandonhutchinson.com/QueueLA_and_RefuseLA.html