我的sendmail服务器开始拒绝连接,因为负载平均值太高(由于垃圾邮件问题已经解决).
Error was: sendmail[13400]: rejecting connections on daemon MTA: load average: 50
我想更好地理解这种行为.
>此阈值设置在何处?
>“平均负载”是什么意思?
>负载平均值的计算频率是多少?
>有没有办法主动监控这个?或者当负载平均值接近高值时会收到警报?很明显,sendmail会给连接的MTA提供一个4.0.0类的dsn,但我正在寻找某种警报机制.
谢谢,
中号
嗨,大家好,
当我看到它再次出现时,我以为我会再碰一次.我现在看到的问题是,由于超出平均负载而排队的消息不会在以后重新发送(即使在性能恢复到可接受的水平之后.任何想法为什么会这样?
谢谢,
中号
解决方法
系统负载平均值是用于表示系统正在执行的工作量的性能指标.登录邮件服务器(假设为UNIX类型系统)时,可以键入uptime命令以查看最后一分钟,5分钟和15分钟的平均负载.以下是生产服务器的示例:
sh$uptime 10:53am up 248 day(s),36 min(s),12 users,load average: 0.28,0.29,0.30
所以5分钟的平均负载是0.28,最后5分钟的负载平均值是0.29等.在这种情况下,你可以看到系统的负载随着时间的推移略有下降.
根据经验,您需要将服务器负载保持在1以下.但在所有情况下都不一定如此.如果您观察服务器一段时间,您将开始看到合理的负载是什么.这可能是理解它的最简单方法,只需在现实世界中观看即可.也就是说,如何计算负载平均值实际上相当复杂,但如果您感兴趣,我建议您查看以下有关Linux如何计算它的文章:
http://www.linuxjournal.com/article/9001
现在回到sendmail.当负载平均值(LA)过高时,可以将Sendmail配置为仅排队消息或平掉拒绝消息.我们的想法是,这将使sendmail不再占用整个系统.如果过早拒绝连接,可以在sendmail.cf中查看两个设置:
O QueueLA=8 - load average at which Sendmail queues new messages O RefuseLA=12 - load average at which Sendmail rejects connections