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

Linux tytrock ⋅ 于 2024-07-02 15:00:37 ⋅ 80 阅读

今天在业务系统中发现一个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
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter