第一种
ntsysv
直接取消sendmail的服务,这下就彻底解决sendmail慢 的问题了
第二种
sendmail卡的主要原因可能就是你的DNS解析异常了,请注意查看以下2个文件是否设置正常
/etc/hosts 这里可以设置你的域名对于的IP,还有直接加入你需要使用sendmail服务的IP
/etc/resolv.conf 这里是DNS的IP,设置个速度不错的DNS吧,以上两项没有设置好也会导致sendmail慢卡现象的出现
<<<
修改/etc/hosts ,未修改之前
127.0.0.1 localhost.localdomain localhost
修 改成
127.0.0.1 localhost.localdomain localhost 主 机名称
查看本机的主机名称的命令是: hostname
再次重新启动sendmail看看
[root@rac1 ~]# service sendmail restart
Shutting down sm-client: [ OK ]
Shutting down sendmail: [ OK ]
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
[root@rac1 ~]# service sendmail restart
Shutting down sm-client: [ OK ]
Shutting down sendmail: [ OK ]
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
[root@rac1 ~]#reboot
>>>
第三种
也就是我遇到的最无敌情况,关闭了机器,然后装上软驱,再开启就卡在sendmail哪里过不去了。等了20分钟也过不去,正常情况下DNS解析失败也顶多启动sendmail的时候卡个一俩分钟。无奈重启启动linux并按I启动,进入系统,最后发现是那根老爷网线费了,换根新网线解决问题。
第四种
这种也就最普通的,发大量的邮件的时候,DNS的解析速度将成为sendmail最大的瓶颈,尤其是在发一批DNS解析都非常慢的邮件服务器时。这种情况,可以通过安装DNS Cache来解决,百度或者google关键字“linux DNS cache”就会有很多,这里就不在赘述!
djbdns的一段过来给大家看看
下面是使用root用户操作安装过程
#cd /usr/ports/dns/djbdns
#make install clean
#mkdir /var/service
#csh (或者exit退出再登陆,或者运行bash也可以)
#dnscache-conf nobody nobody /var/service/dnscache 127.0.0.1
#vi /etc/rc.conf 里加入 svscan_enable=”YES”
#/usr/local/etc/rc.d/svscan.sh start 启动服务,完成安装
下面检查服务启动情况
#netstat -anl |grep LISTEN
看看里面是否有53端口的监听服务,如果有就ok了
接着修改/etc/reslove.conf文件,把127.0.0.1加入到第一行,如下
nameserver 127.0.0.1
nameserver xx.xx.xx.xx (其他的公网的DNS)
这时测试一下效果
ping
你会发现可能第一次稍微时间长一点,第二次反应时间都基本是0.001msec,这就是取到了本地的缓存,效果好的很!
接着测试了sendmail的大量并发发信,结果完全能满足中等网站的并发业务处理了!
原文参考:
http://www.bizsn.com/info/a/fuwuqijishu/linuxfuwuqi/2009/0917/13682.html
http://hi.baidu.com/xioazhu/blog/item/605db41182e90d76cb80c4d6.html