wget延时5s问题

【问题描述】

项目中遇到一个问题,脚本中有大量的wget命令,DNS配置正常,通过nslookup解析域名速度也很快,但是脚本执行确超时。测试发现每次wget时都有5s的延时。

【原因分析】

1、nslookup默认只解析A地址(也就是ipv4记录),而wget或者curl同时解析A地址和AAAA地址。

2、centos6/7版本的DNS解析过程如下:

(图片来源于网络)

 

 

1 主机从一个随机的源端口,请求 DNS的A 记录,
2 主机从同一个源端口,请求 DNS的AAAA 记录,
3 主机接受dns服务器返回A记录,
4 主机接受 dns服务器返回AAAA记录,

3、上述3、4步的返回顺序不一定。服务器和DNS服务器之间有防火墙的情况下,上述第3步完成后,防火墙认为会话已完成后面的会话被丢弃,5s后dns客户端没有收到结果会重新发起会话。

4、从抓包的内容能清楚的看到nslookup和wget的区别:

nslookup抓包过程

 

 

 wget抓包过程

【解决方法】

 1、需要用到的域名本地解析

 2、在resolv.conf中加入options single-request-reopen配置

 

转载于:https://www.cnblogs.com/wangle0529/p/11527350.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值