转载:inux的dns缓存,NSCD服务
来源:互联网 发布:海角七号歌曲知乎 编辑:程序博客网 时间:2024/05/29 18:03
转载来自:http://my.oschina.net/phptiger86/blog/138507#OSC_h3_1
这两天做压力测试的时候发现,用webbench压域名要比压ip地址慢好几倍,而且压域名的时候nginx并发量也很低.反复测试了好多遍,怀疑时间是花在dns解析上.在/etc/hosts中做手动解析:
1
echo
"211.157.145.103 m.app518.com"
>> /etc/hosts
dns解析为什么会慢呢?linux的dns缓存有什么不同呢?上网查了一下发现linux本身是没有dns缓存的,想使用dns缓存的话需要自己安装一个服务程序NSCD(name service cache daemon).
1
apt-get
install
nscd
1
enable
-cache hosts
yes
重启nscd服务
1
service nscd restart
之后发现不需要做手动解析,访问速度回升到用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 缓存
如果启用了nscd 服务,才有dns 缓存,否则是没有dns缓存的
rm -f /var/db/nscd/hosts
service nscd restart 即可
或者是直接停止nscd 服务
- 转载:inux的dns缓存,NSCD服务
- linux的dns缓存,NSCD服务
- ubuntu 14.04 64 bit上开启nscd服务缓存加速及清除dns缓存
- Linux DNS解析与NSCD缓存
- Linux下开启缓存服务NSCD
- Dns缓存问题(转载)
- inux ./configure 的参数详解(转载)
- 缓存的DNS服务器
- 浏览器的DNS缓存
- 浏览器的DNS缓存
- 爬虫的DNS缓存
- 转载:浏览器DNS缓存机制分析
- dns服务的安装
- DNS服务的学习
- [转载]inux网卡驱动程序的编译与安装
- ColdFusion 的DNS缓存问题
- 邪恶的浏览器DNS缓存
- 邪恶的浏览器DNS缓存
- N-Queens
- mysql中文乱码
- 隐藏在裸眼3D电视背后的秘密
- Linux下查看cpu信息
- POJ 2398 Toy Storage(叉积+二分)
- 转载:inux的dns缓存,NSCD服务
- Java 调用C/C++ , JNI(Jave Native Interface)的学习
- 跳转到图片
- 卡特兰数 Catalan数 hdu 1023
- POJ Space Elevator
- oracle 导入/导出备份dmp文件
- 基于数组的循环队列
- 第五届蓝桥杯练习系统试题及参考答案---田野上的稻草人
- Git详解之一:Git起步