设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 2220|回复: 1

Linux centos服务器DNS域名解析慢,可以安装nscd缓存加速来解决

[复制链接]
 成长值: 348

签到天数: 4741 天

[LV.Master]伴坛终老

发表于 2017/11/11 01:42 | 显示全部楼层 |阅读模式 |Google Chrome 60.0.3112.113|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
针对服务器解析慢,可以在服务器上安装nscd,就可以把解析缓存起来,不用每次都解析
安装nscd:
  1. yum -y install nscd
  2. chkconfig nscd on
  3. service nscd start
复制代码


查看监听情况
  1. netstat -apn | grep nscd
复制代码

输出如下代表就成功了
udp        0      0 188.165.157.116:24545       8.8.8.8:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:43234       8.8.4.4:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:31341       8.8.4.4:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:16768       8.8.8.8:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:58117       8.8.8.8:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:19847       8.8.4.4:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:30984       8.8.4.4:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:19857       8.8.4.4:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:12826       8.8.8.8:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:52894       8.8.4.4:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:14240       8.8.8.8:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:47410       8.8.8.8:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:54326       8.8.8.8:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:38711       8.8.4.4:53                  ESTABLISHED 22127/nscd         
udp      584      0 188.165.157.116:10689       8.8.8.8:53                  ESTABLISHED 22127/nscd         
udp        0      0 188.165.157.116:27465       8.8.4.4:53                  ESTABLISHED 22127/nscd         
unix  2      [ ACC ]     STREAM     LISTENING     475452517 22127/nscd          /var/run/nscd/socket
unix  2      [ ]         STREAM     CONNECTED     3458199209 22127/nscd          /var/run/nscd/socket
unix  2      [ ]         STREAM     CONNECTED     3458199175 22127/nscd          /var/run/nscd/socket
unix  2      [ ]         STREAM     CONNECTED     3458198561 22127/nscd          /var/run/nscd/socket
unix  2      [ ]         STREAM     CONNECTED     3458198384 22127/nscd          /var/run/nscd/socket
unix  2      [ ]         STREAM     CONNECTED     3458197458 22127/nscd          /var/run/nscd/socket
unix  2      [ ]         STREAM     CONNECTED     3458197375 22127/nscd          /var/run/nscd/socket
unix  2      [ ]         STREAM     CONNECTED     3458197099 22127/nscd          /var/run/nscd/socket
unix  2      [ ]         STREAM     CONNECTED     3458196531 22127/nscd          /var/run/nscd/socket
unix  2      [ ]         DGRAM                    475452516 22127/nscd


如果有需要修改配置文件,vi /etc/nscd.conf,默认已经是yes
enable-cache hosts yes
这个服务除了dns缓存之外还可以缓存passwd,group,services,netgroup这几个东西的缓存暂时用不到

修改后记得重启nscd服务
  1. service nscd restart
复制代码


查看命中统计
  1. nscd -g
复制代码


显示结果如下
[root@localhost ~]# nscd -g
nscd configuration:

              0  server debug level
35d 23h 21m 32s  server runtime
             21  current number of threads
             32  maximum number of threads
             16  number of times clients had to wait
             no  paranoia mode enabled
           3600  restart internal
              5  reload count

passwd cache:

            yes  cache is enabled
            yes  cache is persistent
            yes  cache is shared
            211  suggested size
         216064  total data pool size
            360  used data pool size
            600  seconds time to live for positive entries
             20  seconds time to live for negative entries
              0  cache hits on positive entries
              0  cache hits on negative entries
           1880  cache misses on positive entries
          17388  cache misses on negative entries
              0% cache hit rate
              4  current number of cached values
             43  maximum number of cached values
              2  maximum chain length searched
              0  number of delays on rdlock
              0  number of delays on wrlock
              0  memory allocations failed
            yes  check /etc/passwd for changes

group cache:

            yes  cache is enabled
            yes  cache is persistent
            yes  cache is shared
            211  suggested size
         216064  total data pool size
            288  used data pool size
           3600  seconds time to live for positive entries
             60  seconds time to live for negative entries
              0  cache hits on positive entries
              0  cache hits on negative entries
             36  cache misses on positive entries
             79  cache misses on negative entries
              0% cache hit rate
              2  current number of cached values
              5  maximum number of cached values
              1  maximum chain length searched
              0  number of delays on rdlock
              0  number of delays on wrlock
              0  memory allocations failed
            yes  check /etc/group for changes

hosts cache:

            yes  cache is enabled
            yes  cache is persistent
            yes  cache is shared
            211  suggested size
         216064  total data pool size
          19352  used data pool size
           3600  seconds time to live for positive entries
             20  seconds time to live for negative entries
          11160  cache hits on positive entries
              0  cache hits on negative entries
         122099  cache misses on positive entries
          35362  cache misses on negative entries
              6% cache hit rate
            139  current number of cached values
            140  maximum number of cached values
             20  maximum chain length searched
              0  number of delays on rdlock
              0  number of delays on wrlock
              0  memory allocations failed
            yes  check /etc/hosts for changes

services cache:

            yes  cache is enabled
            yes  cache is persistent
            yes  cache is shared
            211  suggested size
         216064  total data pool size
              0  used data pool size
          28800  seconds time to live for positive entries
             20  seconds time to live for negative entries
              0  cache hits on positive entries
              0  cache hits on negative entries
              0  cache misses on positive entries
              0  cache misses on negative entries
              0% cache hit rate
              0  current number of cached values
              0  maximum number of cached values
              0  maximum chain length searched
              0  number of delays on rdlock
              0  number of delays on wrlock
              0  memory allocations failed
            yes  check /etc/services for changes

netgroup cache:

            yes  cache is enabled
            yes  cache is persistent
            yes  cache is shared
            211  suggested size
         216064  total data pool size
              0  used data pool size
          28800  seconds time to live for positive entries
             20  seconds time to live for negative entries
              0  cache hits on positive entries
              0  cache hits on negative entries
              0  cache misses on positive entries
              0  cache misses on negative entries
              0% cache hit rate
              0  current number of cached values
              0  maximum number of cached values
              0  maximum chain length searched
              0  number of delays on rdlock
              0  number of delays on wrlock
              0  memory allocations failed
            yes  check /etc/netgroup for changes
[root@localhost ~]#


查看nscd数据库中的域名列表
  1. strings /var/db/nscd/hosts | grep -P '[\w-]+\.\w+' | sort -u
复制代码


如果没效果,reboot  重启服务器
今天碰到一个用户使用cdnbest,用户在cdn添加记录,源ip的位置写的是域名,不是ip,结果造成不能访问,安装nscd后解决
DNS,是网络运转的最为根本的服务。在 Linux系统中,有一个名为nscd 的软件包,是专门缓存DNS的,试想如果是一台高并发的邮件服务器,对DNS的依赖程度更为重要。所以在系统上安装nscd进行DNS进行缓存时,原则上 效率会大大地提高
很多Linux发行版缺省状态都会关闭DNS缓存,诸多应用可以提供这个功能,nscd(Name Service Cache Daemon,名称服务缓存守护进程)是最容易安装的应用之一。

不过我感觉,效果还是不明显,特别是dig一下,还是多少延迟就是多少而不是0ms
在安装并启动nscd之后,如果没有真正了解它,可以使用ping和tcpdump之类的东西来验证DNS查询是否真的离开了主机。请注意,像nslookup,dig或host 这样的绑定工具总是直接查询DNS服务器,所以在运行这些服务器时你不会看到任何nscd的效果。


这里推荐效果更好的dnsmasq
http://bbs.itzmx.com/thread-85751-1-1.html

[发帖际遇]: 小樱 发帖时在路边捡到 3 樱币,偷偷放进了口袋. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

签到天数: 19 天

[LV.4]偶尔看看III

发表于 2017/11/13 16:18 | 显示全部楼层 |Google Chrome 45.0.2454.101|Windows 10
很有用,谢谢小樱
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/12/27 10:02 , Processed in 0.145477 second(s), 23 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表