第一種
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