NSCD缓存服务

NSCD是服务缓存守护进程,主旨在于提高客户端访问速度。它以服务的形式存在系统中

原理

NSCD(Name Service Cache Daemon)缓存passwd、hosts、group三类信息。DNS服务器在针对大流量解析时在没有缓存机制的情况下会一直等待,直到收到结果的返回,这样往往会显的“措手不及”(延时高,甚至有可能被限制访问)。因此在DNS服务其中设立一个缓存机制,以此达到两点效果:

1、优化DNS相应速度

2、减少DNS服务器对公网的依赖

配置文件

nscd缓存服务的配置文件是/etc/nscd.conf

其中所提到的三个组件(passwd、group、hosts),会分别记录三个库,对应/etc/passwd,/etc/hosts,/etc/resolv.conf。每个库保存两份文件,一份是找到记录的,一份是没有找到记录的。每一种缓存都保存有生存时间(TTL)

参数解释

enable-cache 指定对DNS解析进行缓存

positive-time-to-live 对解析成功的DNS结果进行缓存时间

negative-time-to-live 指对解析成功的DNS结果进行缓存的时间,例如网络故障导致DNS解析失败或者请求的DNS条目没有配置等

suggested-size 是NSCD内部哈希表的大小,如果缓存条目数量大于默认的211,如大于10倍,那么修改此值。

check-files 指是否检查/etc/hosts文件的变化

persistent 重启NSCD进程时是否保留已缓存的条目

shared 是否允许客户端直接查询NSCD的内存镜像以获得结果

max-db-size 是指DNS的缓存大小,以字节为单位

日常操作

nscd -g:可以看到当前nscd服务的配置信息

清空各个组件的缓存条目:

nscd -i passwd

nscd -i group

nscd -i hosts

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180124G116RN00?refer=cp_1026

相关快讯

扫码关注云+社区