现在的位置: 首页 > 算法 > 正文

linux的dns缓存怎么解析?Dns缓存到底能提升多少性能

2020年05月25日 算法 ⁄ 共 1116字 ⁄ 字号 评论关闭

  做压力测试的时候发现,用webbench压域名要比压ip地址慢好几倍,而且压域名的时候nginx并发量也很低。下面学步园小编来讲解下linux的dns缓存怎么解析?Dns缓存到底能提升多少性能?

  linux的dns缓存怎么解析

  echo"211。157。145。103m。app518。com">>/etc/hosts之后再压,速度果然正常了。

  dns解析为什么会慢呢?linux的dns缓存有什么不同呢?上网查了一下发现linux本身是没有dns缓存的,想使用dns缓存的话需要自己安装一个服务程序NSCD(nameservicecachedaemon)。

  apt-getinstallnscd

  修改配置文件/etc/nscd。conf,开启dns缓存,修改这一行enable-cachehostsyes

  这个服务除了dns缓存之外还可以缓存passwd,group,servers。这几个东西的缓存暂时用不到。

  重启nscd服务servicenscdrestart之后发现不需要做手动解析,访问速度回升到用ip地址一样了。

  dns缓存在服务器上的作用

  在需要通过域名与外界进行数据交互的时候,dns缓存就派上用场了,它可以减少域名解析的时间,提高效率。例如以下情况:

  使用爬虫采集网络上的页面数据,

  使用auth2。0协议从其他平台(如微博或QQ)获取用户数据,

  使用第三方支付接口,

  使用短信通道下发短信等。

  dns缓存到底能提升多少性能呢

  首先要看网络和dns服务器的能力,dns解析越慢,dns缓存的优势就越大。比如我们在北京用的dns服务器202。106。0。20和google的dns服务器8。8。8。8速度会差不少。

  如果dns服务器比较稳定,那它对效率的影响就是一个常数。这个常数有多大呢?

  简单试了一下。在局域网内进行压力测试,压一个nginx下的静态页面,使用202。106。0。20这个dns服务器,不用dns缓存。平均一分钟可以访问27万次。压一个简单的php页面,平均一分钟可以访问22万次。加上nscd服务后,静态页面平均一分钟可以访问120万次,要快4倍多。php页面平均一分钟可以访问50万次,快一倍多。

  如果是做搜索引擎或是一些代理服务类的项目,比如短信通道,数据推送服务,这个性能提升还是比较可观的。但在一般的项目中,一台服务器每分钟发22万次请求的情况是很少见的,所以这个性能提升也微呼其微。

  以上就是关于“linux的dns缓存怎么解析?Dns缓存到底能提升多少性能”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.