xinsui
发表于 2008-10-7 16:16:06
关注,防止类似问题发生
钉子
发表于 2008-10-8 11:24:57
在STMP中有没有限制连接数及连接超时的时间?
protostar
发表于 2008-10-8 16:04:51
有限制,“限制连接数不超过500”,连接超时 5分钟。我记得以前用iMail的时候,看到的是一堆TMED_WAIT,和这个不大一样,那个通过修改系统注册表可以进行改善,这个查了很多资料,貌似没有个定论。原理倒是解释的很清楚,都是对方close socket的时候FIN包只发出了第一个,后面的没有了,然后这边就傻傻的等,问题是得有个度啊,怎么能傻等这么长时间还不终止。
protostar
发表于 2008-10-8 16:10:18
对了,钉子,那个连接超时5分钟应该可以关掉不活动的连接吧?为什么没关闭掉呢?
protostar
发表于 2008-10-8 20:40:33
我想我应该大概正在接近答案了,我检查了SMTP日志,找了那些IP地址,发现无一例外,都有个规律,那就是都完成了helo、from和rcpt命令后就没有后面的动作了,而且从SMTP日志里,可以看到这些IP要发送的邮件肯定都是垃圾邮件。那么我就认为出现这种问题的原因应该是反垃圾邮件策略引起的。
我将这些IP地址在系统引用的两个rbl里查询了一下,发现都没有记录中,这样可以知道,这些IP没有下一步动作的原因不会是因为RBL过滤引起的。
剩下的原因就在于IMF和其它SPF之类的影响了,我就怀疑到会不会是因为我设置的过滤动作是“拒绝”引起的呢?系统检测到对方发来的邮件符合过滤标准后,就进行了拒绝响应,然后正是因为不知道它采取了什么方式进行了拒绝,结果导致这个连接没有正常关闭,然后就处于这个状态了。
为了证实我的猜测,我修改了IMF和SPF过滤的动作为“收取后删除”,果然,修改完后,观察了大概二三十分钟后,没有再出现类似情况。
我认为这个问题应该是Exchange的一个bug,有兴趣的TX可以试试把IMF和SPF的过滤动作设置为“拒绝”看看会不会出现类似情况,主要应该是IMF的拒绝动作引起的。
protostar
发表于 2008-10-8 20:47:34
再抱怨一句,Exchange的smtp日志真TM垃圾,差iMail日志的可读性不是一点两点。
钉子
发表于 2008-10-9 00:03:24
回复 15楼 protostar 的帖子
确实有进展了,也就是说你把这些IMF这些改成非"拒绝"就不会出现了?不过很有可能是启用了发件人ID造成的,请查看以下KB,并下载安装KB所附的Hotfix看问题是否有改观:
The performance of the server deteriorates over time after you enable Sender ID Filtering in Exchange Server 2003 Service Pack 2
http://support.microsoft.com/kb/918283/en-us
protostar
发表于 2008-10-9 13:28:40
非常好,哈哈,钉子,还是你N啊,确实,我昨天试了一下,只将IMF的设置为删除,发件人过滤设置为拒绝,结果今天早上一看,又有了一堆连接,不过情况要稍微好些。我看了那个KB,里面描述的症状是完全符合的。MS为什么不通过更新发布这么个补丁呢?
强烈要求钉子说下,你是怎么找到这篇KB的?我都找了好几天了,都没找到,找到的都是一堆什么java编程、Unix下面处理,还有解释原理方面的文章,看的我眼都花了,也没找到合适的。钉子你是怎么找到的?
钉子
发表于 2008-10-9 13:33:42
回复 18楼 protostar 的帖子
http://www.google.cn/search?complete=1&hl=zh-CN&newwindow=1&client=aff-cs-maxthon&hs=6eT&affdom=microsoft.com&q=exchange+2003+CLOSE_WAIT&meta=&aq=f&oq=
protostar
发表于 2008-10-9 13:34:28
哦,我真够笨的,怎么就没想起来在MS的站点上搜索一下呢,呵呵。搜索exchange close_wait 第一条KB就是的。