ubuntu 14.04 64 bit上開啟nscd服務緩存加速及清除dns緩存


簡介
linux本身是沒有dns緩存的,想使用dns緩存的話需要自己安裝一個服務程序NSCD(name service cache daemon). 
Nscd會緩存libc接口(比如 getpwnam(3), getpwuid(3), getgrnam(3), getgrgid(3), gethostbyname(3))發起的名稱服務的請求。
nscd緩存三種服務passwd, group, hosts,所以它會記錄三個庫,分別對應源/etc/passwd, /etc/hosts 和 /etc/resolv.conf每個庫保存兩份緩存,一份是找到記錄的,一份是沒有找到記錄的。每一種緩存都保存有生存時間(TTL).
如果您已經在本地緩存了不正確的 DNS 條目,那么您需要清空您的緩存來使 DNS 客戶端提出新的 DNS 請求並更新解析結果。當然,您也可以等緩存的 DNS 條目過期以后讓系統自動沖掉該條目……這通常需要24個小時。
在 Ubuntu 中沖掉 DNS 緩存的方式是重新啟動 nscd 守護程序。

安裝
sudo apt-get install nscd //Ubuntu

yum install nscd   //CentOS

這里以在Ubuntu 14.04 64bit上的安裝為例, 截圖如下:



配置
默認的配置文件是/etc/nscd.conf,通過編輯/etc/nscd.conf文件,在其中增加如下一行可以開啟本地DNS cache:
enable-cache hosts yes
配置文件內容如下


相關參數的解釋如下:


logfile debug-file-name
指定調試信息寫入的文件名。
debug-level value
設置希望的調試級別。
threads number
這是啟動的等待請求的線程數。最少將創建5個線程。
server-user user
如果設置了該選項,nscd將作為該用戶運行,而不是作為root。如果每個用戶都使用一個單獨的緩存(-S參數),將忽略該選項。
enable-cache service <yes|no>
啟用或禁用制定的 服務 緩存。
positive-time-to-live service value
設置 service 在指定緩存中正的項目(成功的請求)的TTL(存活時間)。 Value 以秒為單位。較大的值將增加緩存命中率從而減低平均響應時間,但是將增加緩存的一致性問題。
negative-time-to-live service value
設置 service 在指定緩存中負的項目(失敗的請求)的TTL(存活時間)。 Value 以秒為單位。如果存在由不在系統數據庫中的uid(用戶ID)(例如在以root身份解包linux 內核源代碼時)所擁有的文件將明顯改善性能;應該維持較小的值以降低緩存一致性問題。
suggested-size service value
這是內部散列表的大小, value 應該保持一個素數以達到優化效果。
check-files service <yes|no>
啟用或禁用檢查屬於指定 服務 的文件的改變。這些文件是 /etc/passwd, /etc/group, 以及 /etc/hosts。

開啟/停止/重啟nscd服務
sevices nscd start | stop | restart


nscd 服務查看和清除

默認該服務在redhat或centos下是關閉的,可以通過services nscd start開啟。緩存DB文件在/var/db/nscd下。可以通過nscd -g查看統計的信息,這里列出部分:

清除緩存
nscd -i passwd
nscd -i group
nscd -i hosts
除了上面的方法,重啟nscd服務同樣可以達到清理cache的目的。

如果系統下有nscd,那么就直接
sudo /etc/init.d/nscd restart
如果沒有就安裝
sudo apt-get install nscd
sudo /etc/init.d/nscd restart

service nscd restart

其實我們也可以直接
sudo /etc/init.d/dns-clean start
來完成的。

參考文獻
[1].http://linux.about.com/library/cmd/blcmdl8_nscd.htm

[2].http://www.361way.com/linux-nscd-dns-cache/4265.html


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com