Rock笔记
~/rocknotes/articles/403.md article
// article · linux

【笔记】解决由于 CentOS 中由于 IPv6 的优先级问题导致请求部分 URL 响应时间过长的问题

今天在业务系统中发现一个POST请求的响应时间非常长,足足有122秒,如下图是打印curl的详细信息:

image.png

而请求其他URL的响应速度是正常的,期初怀疑是对方URL系统的问题,但在其他服务器里请求这个URL速度又是正常的,所以基本可以肯定是本机的网络配置问题。


经过一番折腾以及向服务器运营商提交工单,得出的原因是请求该地址时优先解析了ipv6,而服务器未开启ipv6带宽故等待时间较长,所以我们需要设置服务器优先使用ipv4进行解析。


方法一:降低 IPv6的优先级,优先使用IPv4。

默认的安装中,IPV4 和 IPV6 并存,并且 IPV6 却优先于 IPV4。如果不需要彻底关闭 IPV6,可以设置让 IPV4 优先于 IPV6。配置方式如下:

echo "precedence ::ffff:0:0/96 100" >>/etc/gai.conf

当然也可以直接修改 /etc/gai.conf 文件,增加下面这一行或取消注释就可以

precedence ::ffff:0:0/96 100

我使用的就是这个方法解决了。


方法二:设置 GRUB 启动参数禁用 IPv6

编辑 /etc/default/grub,找到 GRUB_CMDLINE_LINUX_DEFAULT="quiet"

修改为:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet"

随后执行命令 update-grub 更新 grub 启动参数,重启系统即可。

回复// 0 replies

最新回复 ↓
// 暂无回复

回复功能沿用原详情页:前往原页面参与讨论 →