背景
- 有用户报障, 启动服务时候发现十分慢,感觉是 DNS 服务器问题
- 第一时间给我感觉 DNS 没问题,但也分析一下
DNS 架构
- 当前使用 skydns 作为 DNS 解析服务器 (老旧系统遗留问题)
- DNS 数据存储至 3 台 ETCD 服务器集群中
- skydns 只解析 vpaas.org 域,其他域解析则转发至其他服务器
DNS 现象
- 在普通 VM 执行 dns 查询并没有发现有什么问题
- 但客户电脑上执行 dns 解析的确有点慢参考下图
- 每次 DNS 解析都需要 4 ~ 5 秒的返回时间

tcpdump 抓包分析
- 由于容器没有 tcpdump 命令
- 直接到 dns 服务器上执行抓包操作
- 参考抓包命令 (10.189.56.67) 客户端地址,请求 DNS 解析
tcpdump -i any host 10.189.56.67 and port 53 -w /tmp/dns.pcap
分析结果
- 参考下面命令,分析 dns.pcap ,每个请求时间返回
- 针对第一次的 DNS 请求
# tshark -r dns.pcap -Y "dns.qry.name contains cfg-zk-1" -o tcp.calcula