当前位置: 技术问答>linux和unix
linux resolv.conf/resolv.h问题
来源: 互联网 发布时间:2016-06-26
本文导语: 我的情况如下:需要解析一个文本文件中的域名(所有的域名都不一样),有1w多行,其中这些域名有的能解析到,有的解析不到,测试了一下能够解析到的1w行就用了几分钟,而解析不到的1600行却用了1个小时(需要做二...
我的情况如下:需要解析一个文本文件中的域名(所有的域名都不一样),有1w多行,其中这些域名有的能解析到,有的解析不到,测试了一下能够解析到的1w行就用了几分钟,而解析不到的1600行却用了1个小时(需要做二次解析,第一次解析不到的,返会之后给原域名前加上“www”再次进行解析),因为这个文本文件是变化的,所以不能很好的处理。所以,我就对resolv.h进行修改,修改了如下3行:
# define RES_MAXRETRY 1 /* only for resolv.conf/RES_OPTIONS */
# define RES_DFLRETRY 0 /* Default #/tries. */
# define RES_MAXTIME 10000 /* Infinity, in milliseconds. */
重启机器,再次解析,测试结果还是很慢(难道修改resolv.h不起作用吗?)。我的解析顺序是先本地后bind。host.conf内如是:order hosts,bind
resolv.conf内容是:
nameserver 202.101.8.18
nameserver 218.85.157.99
nsswitch.conf默认,未作修改。请高手指点,如何能够提高效率呢?
注:用C做语言。
谢谢,谢谢。
# define RES_MAXRETRY 1 /* only for resolv.conf/RES_OPTIONS */
# define RES_DFLRETRY 0 /* Default #/tries. */
# define RES_MAXTIME 10000 /* Infinity, in milliseconds. */
重启机器,再次解析,测试结果还是很慢(难道修改resolv.h不起作用吗?)。我的解析顺序是先本地后bind。host.conf内如是:order hosts,bind
resolv.conf内容是:
nameserver 202.101.8.18
nameserver 218.85.157.99
nsswitch.conf默认,未作修改。请高手指点,如何能够提高效率呢?
注:用C做语言。
谢谢,谢谢。
|
考虑下多线程同时解析
|
没有试过,还不清楚。
可以修改超时时间,把时间缩短。
可以修改超时时间,把时间缩短。
|
你尝试着对文本文件中的域名逐个解析[当然可以写一个shell,ping一下,看看返回时间即可。]挑出那些反应慢的域名,给删除,或者是过滤。这样就可以提高效率!