先说结论:Local DNS 优化需分场景,服务器端可改配置见效,用户端需靠 HTTPDNS 或权威 DNS 调度。
- 先定位:确认延迟是发生在服务器出站解析,还是用户端入站解析。
- 先做:服务器端更换公共 DNS 或内网 DNS,用户端接入 HTTPDNS 服务。
- 再验证:使用 dig 或 curl 对比解析耗时,观察业务监控曲线。
1. 诊断:确认延迟来源
先在服务器上执行命令测试当前 DNS 解析耗时。
Linux 环境:
dig +stats www.your-cdn-domain.com查看输出底部的 Query time。如果数值很大(例如超过 100ms),说明服务器本地 DNS 解析慢。
Windows 环境:
nslookup www.your-cdn-domain.com观察 Non-authoritative answer 返回前的耗时,或使用 PowerShell 命令 Resolve-DnsName 查看耗时。
2. 优化:修改 DNS 配置
Linux 服务器配置
编辑 /etc/resolv.conf 文件。建议优先使用国内公共 DNS 或云厂商内网 DNS。
nameserver 223.5.5.5
nameserver 114.114.114.114
nameserver 原有内网 DNS注意:某些云主机可能通过 cloud-init 或 NetworkManager 管理 DNS,直接修改文件可能会重启后被覆盖。如果是 CentOS 7+ 或 Ubuntu 18.04+,建议检查 nmcli 或云厂商的控制台网络设置。
Windows 服务器配置
- 打开“控制面板” > “网络和共享中心” > “更改适配器设置”。
- 右键点击当前使用的网络连接,选择“属性”。
- 双击