WSL2 Docker Dev Container连接特定AWS API网络延迟过高排查求助
问题:WSL2 Dev Container内访问AWS API响应极慢,DNS查询超时
我在AWS部署了一个API,尝试在WSL2上Docker Desktop运行的Dev Container中测试时,发现API响应极慢,但AWS侧报告延迟很低。于是用curl做了计时测试:
curl -o /dev/null -XPOST -s -w '建立连接: %{time_connect}s\n首字节响应时间(TTFB): %{time_starttransfer}s\n总耗时: %{time_total}s\n' https://<my api>.execute-api.eu-west-2.amazonaws.com/v1/urls/
不同环境下的测试结果
- Dev Container内运行:仅建立连接就耗时11秒
建立连接: 11.154874s 首字节响应时间(TTFB): 11.291783s 总耗时: 11.291815s
- WSL2主机内运行:整个请求完成速度极快
建立连接: 0.036608s 首字节响应时间(TTFB): 0.112057s 总耗时: 0.112094s
- Dev Container内访问google.com:连接建立速度正常
建立连接: 0.040978s 首字节响应时间(TTFB): 0.145377s 总耗时: 0.145745s
目前问题表现为:Docker网络配置会导致部分URL请求被阻塞约11秒后才路由到互联网。请问可以从哪些方面进一步调试?
更新1 - nslookup测试
在主机上运行nslookup后,发现两次DNS查询超时(这正是11秒耗时的来源):
$ nslookup <my api>.execute-api.eu-west-2.amazonaws.com Server: 192.168.65.7 Address: 192.168.65.7#53 Non-authoritative answer: Name: <my api>.execute-api.eu-west-2.amazonaws.com Address: 18.169.197.242 Name: <my api>.execute-api.eu-west-2.amazonaws.com Address: 18.168.60.90 Name: <my api>.execute-api.eu-west-2.amazonaws.com Address: 18.134.119.33 ;; communications error to 192.168.65.7#53: timed out ;; communications error to 192.168.65.7#53: timed out
推测192.168.65.7是虚拟网络中的DNS服务器,且该地址可达:
$ ping 192.168.65.7 PING 192.168.65.7 (192.168.65.7) 56(84) bytes of data. 64 bytes from 192.168.65.7: icmp_seq=1 ttl=62 time=0.043 ms
内容的提问来源于stack exchange,提问作者Tom01098
相关产品推荐
相关产品推荐

