我的sendmail服务器开始拒绝连接,因为平均负载过高(由于垃圾邮件问题已经解决)。
Error was: sendmail[13400]: rejecting connections on daemon MTA: load average: 50
我想更好地理解这种行为。
谢谢,
中号
嗨,大家好,
当我看到它再次出现时,我想我会再碰撞一次。 我现在看到的问题是,由于超出平均负载而排队等待的消息不会迟到(甚至在性能恢复到可接受的水平之后),为什么会这样呢?
谢谢,
中号
系统负载平均值是用来表示系统正在做多less工作的性能指标。 当您login到邮件服务器(假设是UNIXtypes的系统)时,可以inputuptime命令查看最后一分钟,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)变得太高时,可以将Sendmailconfiguration为仅排队消息,或者排除拒绝消息。 这个想法是,这将使sendmail不能把整个系统closures。 如果它太早拒绝连接,则可以在sendmail.cf中查看两个设置:
O QueueLA=8 - load average at which Sendmail queues new messages O RefuseLA=12 - load average at which Sendmail rejects connections
上面的search返回页面的一些说明如何更改这些参数(当使用M4macros),这可能是有帮助的: