首页 > 代码库 > <ubuntu ping响应慢 延迟严重的解决>

<ubuntu ping响应慢 延迟严重的解决>

 
解决ubuntu反应慢、延迟问题
 
 
最近发现线下有几台ubuntu server12.04.2的,ping  www.baidu.com反应慢的要命,ip配的也没问题,dns解析写的也完全ok,它奶奶的,ping 就是反应慢的要命,有时还不通,监控一直报警,烦的要命。
 
 排除这几项:
  1. ip配置问题;
  2. dns解析问题;
  3. 网线问题;
试着新装ubuntu server看看,ping 依旧存在此问题,centos、redhat玩多了,碰到这个还真是太相信自己水平,但就是解决不了ping的问题。
 
后来发现是因为/etc/nsswitch.conf文件中hosts的配置有问题,做如下修改后正常:
 

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference‘ and `info‘ packages installed, try:
# `info libc "Name Service Switch"‘ for information about this file.

passwd:         compat
group:          compat
shadow:         compat

#hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4   //注释掉此行
hosts:          files dns        //添加下面这行
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis
~

 
不用重启,现在ping一切正常了。
 
问题错在哪?
 
  当需要提供nsswitch.conf文件所描述的信息的时候,系统将检查含有适当info字段的配置行。它按照从左向右的顺序开始执行配置行中指定的方法。在默认情况下,如果找到期望的信息,系统将停止搜索。如果没有指定action,那么当某个方法未能返回结果时,系统就会尝试下一个动作。有可能搜索结束都没有找到想要的信息。
 
例如下面两行nsswitch.conf文件配置行:
 
host nis files dns
 
通过#strace /etc/nsswitch.conf  可以查看到其实,延迟的原因是在nis这块,它在调用搜索nis库时,一直找不到,耽误过多的时间。继续下一个搜索,找到了。从而出现延迟。
 
参考博客:
http://www.cnblogs.com/cute/archive/2012/05/17/2506342.html       nsswitch.conf文件的分析

<ubuntu ping响应慢 延迟严重的解决>