Chinaunix

标题: 问 :关于 sendmail 的负载控制 [打印本页]

作者: ailms    时间: 2006-08-04 23:43
标题: 问 :关于 sendmail 的负载控制
在书上看到 QueueLA 和 QueueFactor 选项一起可以控制邮件的发送

所以设置

O QueueFactor=60
O QueueLA=1


然后执行命令

[root@dns1.bob.com =>root]#sendmail -d3.30 root@dns2.bob.com.
getla(): 1.44
getla(): 1.44

rt
.
getla(): 1.40
shouldqueue: CurrentLA=1, pri=30003: false (CurrentLA < QueueLA)


但结果却是邮件可以正常发送到 root@dns2.bob.com 上。

按照 Queue_Factor / (Current_Load - Queue_LA +1 ) 的公式计算出来的结果是 41 < msg_pri (30003)

为什么邮件不是被放入队列呢?

下面是我的 sendmail 信息(RPM 包安装)
[root@dns1.bob.com =>root]#sendmail -d0.1 </dev/null

Version 8.12.8

Compiled with: DNSMAP HESIOD HES_GETMAILHOST LDAPMAP LOG MAP_REGEX
                MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6
                NETUNIX NEWDB NIS PIPELINING SASL SCANF STARTTLS TCPWRAPPERS
                USERDB USE_LDAP_INIT


请各位大虾给个提示,先谢谢了!
作者: abel    时间: 2006-08-05 01:03
http://www.sendmail.org/~ca/email/doc8.12/op-sh-4.html
作者: ailms    时间: 2006-08-05 02:04
真是郁闷,按照 abel 兄的指点看不出什么咚咚来

我想 RefuseLA 和 RecipientFactor 和 ClassFactor 在这里应该不关事吧?

Load Limiting 一节和书上差不多,但书上提到只有二进制编译的才支持该特性,

俺的是 RPM 方式,有关系吗?
作者: ailms    时间: 2006-08-07 09:27
顶一下先
作者: abel    时间: 2006-08-07 09:29
原帖由 ailms 于 2006-8-5 02:04 发表
真是郁闷,按照 abel 兄的指点看不出什么咚咚来

我想 RefuseLA 和 RecipientFactor 和 ClassFactor 在这里应该不关事吧?

Load Limiting 一节和书上差不多,但书上提到只有二进制编译的才支持该特性,

俺 ...

pri 值我沒有特別研究,所以只能指出一個 link 供你參考
至於 LA{queue,refused,delay} 是只看 uptime 時所顯示的 LA 的,這個我倒是確定的
作者: ailms    时间: 2006-08-07 09:30
但我记得 abel 兄经常提到用 LA 来做负载控制的,不知是通过 RefuseLA 还是 QueueLA 呢?
作者: abel    时间: 2006-08-07 10:20
原帖由 ailms 于 2006-8-7 09:30 发表
但我记得 abel 兄经常提到用 LA 来做负载控制的,不知是通过 RefuseLA 还是 QueueLA 呢?

那種東西有預設值

  1. # load average at which we just queue messages
  2. #O QueueLA=8

  3. # load average at which we refuse connections
  4. #O RefuseLA=12


  5. # load average at which we delay connections; 0 means no limit
  6. #O DelayLA=0
复制代码

我從來沒有特別去設定它 (如上即為預設值),
因為透過 Rate Control 的限制,我目前 Load Average 從不會超過3,
這個值和 Rate Control 是雙保險的控制
作者: ailms    时间: 2006-08-07 10:27
哦,那实际上是只有 rate control 起到主要作用了?

至于 RefuseLA 等等之流只是相对次要的了?
作者: abel    时间: 2006-08-07 10:43
原帖由 ailms 于 2006-8-7 10:27 发表
哦,那实际上是只有 rate control 起到主要作用了?

至于 RefuseLA 等等之流只是相对次要的了?

是的,在 Rate Control 之下,要到達 LA 條件我這兩年中從沒有發生過,
在沒有 Rate Control 的狀況下,病毒流行,曾發生過兩次 LA > 8
作者: ailms    时间: 2006-08-07 11:16
abel 兄,rate control 是限制外部连接本地还是限制本地连接外部?

抑或两者都有?
作者: abel    时间: 2006-08-07 11:31
原帖由 ailms 于 2006-8-7 11:16 发表
abel 兄,rate control 是限制外部连接本地还是限制本地连接外部?

抑或两者都有?

兩者都可以
實際上實用且簡單的做法就是
ClientRate: * 2
表示每個 IP 一分內只能有兩次 smtp 連接,  * 可以是一個 IP 或一段 IP
作者: ailms    时间: 2006-08-07 13:20
收到,谢谢 abel 兄




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2