Google Cloud权威DNS西海岸响应缓慢问题排查求助
GCP DNS解析延迟问题排查与求助
我们公司采用Google Cloud Platform(GCP)托管域名并提供DNS服务(未将GCP用作域名注册商)。近期通过指标分析发现,**DNS解析缓慢(时常超过100ms)**是导致页面加载时长增加的核心因素。Datadog DNS合成测试显示,西海岸地区的DNS解析持续偏慢——该测试在AWS环境运行,无论使用8.8.8.8(Google Public DNS)还是1.1.1.1(Cloudflare DNS),结果一致。
测试数据
- 俄亥俄州与俄勒冈州DNS解析延迟测试结果
- 弗吉尼亚州与加利福尼亚州DNS解析延迟测试结果
- DNS Perf测试结果
NS记录配置情况
GCP提供的权威NS记录为:
ns-cloud-b1.googledomains.com. ns-cloud-b2.googledomains.com. ns-cloud-b3.googledomains.com. ns-cloud-b4.googledomains.com.
已在注册商处完成全部配置,验证结果:
~ dig NS --.shop +short ns-cloud-b4.googledomains.com. ns-cloud-b1.googledomains.com. ns-cloud-b2.googledomains.com. ns-cloud-b3.googledomains.com.
公网延迟验证
虽GCP官方不建议用ping/ICMP判断流量延迟,但西海岸地区ping结果显示数据包疑似跨区域传输:
PING ns-cloud-b1.googledomains.com (216.239.32.107): 56 data bytes 64 bytes from 216.239.32.107: icmp_seq=0 ttl=58 time=65.699 ms 64 bytes from 216.239.32.107: icmp_seq=1 ttl=58 time=67.458 ms 64 bytes from 216.239.32.107: icmp_seq=2 ttl=58 time=66.873 ms PING ns-cloud-b2.googledomains.com (216.239.34.107): 56 data bytes 64 bytes from 216.239.34.107: icmp_seq=0 ttl=58 time=85.820 ms 64 bytes from 216.239.34.107: icmp_seq=1 ttl=58 time=87.567 ms 64 bytes from 216.239.34.107: icmp_seq=2 ttl=58 time=84.580 ms
通过Looking Glass工具的traceroute/ping也验证了该延迟存在。
GCP文档明确说明:
借助我们的任播域名服务器,全球用户均可获得可靠、低延迟的访问体验。
但实际性能表现显示,DNS查询似乎由中心节点提供服务。测试.shop和.app两个不同顶级域名均出现类似问题,排除TLD DNS服务器因素。
GCP内部VM DNS查询延迟数据
为排除ISP差异影响,在GCP内部不同区域VM直接查询权威NS记录,结果显示区域间延迟差异明显,未达到预期的全区域<25ms响应速度:
us-central1区域
alex@alex-1-central:~$ dig @ns-cloud-b1.googledomains.com --.shop | grep time ;; Query time: 16 msec alex@alex-1-central:~$ dig @ns-cloud-b2.googledomains.com --.shop | grep time ;; Query time: 28 msec alex@alex-1-central:~$ dig @ns-cloud-b3.googledomains.com --.shop | grep time ;; Query time: 20 msec alex@alex-1-central:~$ dig @ns-cloud-b4.googledomains.com --.shop | grep time ;; Query time: 0 msec
us-west2区域
alex@alex-1-west2:~$ dig @ns-cloud-b1.googledomains.com --.shop | grep time ;; Query time: 40 msec alex@alex-1-west2:~$ dig @ns-cloud-b2.googledomains.com --.shop | grep time ;; Query time: 60 msec alex@alex-1-west2:~$ dig @ns-cloud-b3.googledomains.com --.shop | grep time ;; Query time: 52 msec alex@alex-1-west2:~$ dig @ns-cloud-b4.googledomains.com --.shop | grep time ;; Query time: 48 msec
us-east1区域
alex@alex-1-east:~$ dig @ns-cloud-b1.googledomains.com --.shop | grep time ;; Query time: 28 msec alex@alex-1-east:~$ dig @ns-cloud-b2.googledomains.com --.shop | grep time ;; Query time: 4 msec alex@alex-1-east:~$ dig @ns-cloud-b3.googledomains.com --.shop | grep time ;; Query time: 12 msec alex@alex-1-east:~$ dig @ns-cloud-b4.googledomains.com --.shop | grep time ;; Query time: 32 msec
对比测试:AWS Route53
在AWS Route53创建测试区域,从GCP各区域VM直接查询其权威NS记录,所有区域响应时间均<20ms。
现寻求该问题的原因分析及可行解决方案。
内容的提问来源于stack exchange,提问作者Alex H
相关产品推荐
相关产品推荐

