作用:
Nscd is a daemon that provides a cache for the most common name service requests
可以缓存passwd,group,hosts,services,netgroup,其中如果用于缓存dns配置如下
enable-cache hosts yes
positive-time-to-live hosts 3600
negative-time-to-live hosts 20
suggested-size hosts 211
check-files hosts yes
persistent hosts yes
shared hosts yes
max-db-size hosts 134217728
cachedb 位于:
/var/cache/nscd/hosts
查询
nscd -g
1.安装
apt-get install nscd
dns缓存在服务器上的作用
在需要通过域名与外界进行数据交互的时候,dns缓存就派上用场了,它可以减少域名解析的时间,提高效率.例如以下情况:
使用爬虫采集网络上的页面数据,
使用auth2.0协议从其他平台(如微博或QQ)获取用户数据,
使用第三方支付接口,
使用短信通道下发短信等.
配置:
除了/etc/nscd.conf需要配置以外,还需要配置/etc/nsswitch.conf
将
hosts: files dns 改为
hosts: cache files dns
一种情况:
爬虫给予dns压力太大,导致解析错误情况下:
使用nscd进行DNS缓存
解决方法:
1.在爬虫上安装nscd,修改配置文件
2.修改/etc/nsswitch.conf文件
3.在/etc/resolv.conf文件中添加另一台dnsserver,实现dns响应的分担
使用dig直接进行DNS查询
使用getent hosts host.example.com可以测试是否使用
两个参考
http://my.oschina.net/phptiger86/blog/138507
http://unix.stackexchange.com/questions/6238/dns-queries-not-using-nscd-for-caching