记录使用钉钉扫码登录和验证码登录过于慢的问题(排查问题思路)

问题:测试环境使用钉钉扫码登录和验证码登录速度很快,但是生产环境使用钉钉扫码登录和验证码登录速度却很慢,第一次15秒才收到验证码,第二次则是5秒。

  使用两个环境使用 ping api.dingtalk.com 发现测试环境解析域名很快,立马就用响应。生产环境则过好几秒才响应,响应完后和测试环境的time值差不多,甚至可以说是一样的

  测试环境:

[root@u8-myapp ~]# ping api.dingtalk.com
PING v6-cname.dingtalk.com.gds.alibabadns.com (106.11.23.24) 56(84) bytes of data.  //测试环境这行解析信息很快显示
64 bytes from 106.11.23.24 (106.11.23.24): icmp_seq=1 ttl=91 time=7.55 ms
64 bytes from 106.11.23.24 (106.11.23.24): icmp_seq=2 ttl=91 time=7.37 ms
64 bytes from 106.11.23.24 (106.11.23.24): icmp_seq=3 ttl=91 time=7.30 ms
64 bytes from 106.11.23.24 (106.11.23.24): icmp_seq=4 ttl=91 time=7.32 ms
64 bytes from 106.11.23.24 (106.11.23.24): icmp_seq=5 ttl=91 time=7.44 ms

  生产环境:

[root@erpapp tderp]# ping api.dingtalk.com
PING v6-cname.dingtalk.com.gds.alibabadns.com (106.11.23.24) 56(84) bytes of data.  //生产环境这行解析信息出现得比较慢
64 bytes from 106.11.23.24 (106.11.23.24): icmp_seq=1 ttl=91 time=7.12 ms
64 bytes from 106.11.23.24 (106.11.23.24): icmp_seq=2 ttl=91 time=7.38 ms
64 bytes from 106.11.23.24 (106.11.23.24): icmp_seq=3 ttl=91 time=7.28 ms
64 bytes from 106.11.23.24 (106.11.23.24): icmp_seq=4 ttl=91 time=7.32 ms
64 bytes from 106.11.23.24 (106.11.23.24): icmp_seq=5 ttl=91 time=7.34 ms
64 bytes from 106.11.23.24 (106.11.23.24): icmp_seq=6 ttl=91 time=7.27 ms
64 bytes from 106.11.23.24 (106.11.23.24): icmp_seq=7 ttl=91 time=7.06 ms

至此,我们知道是域名解析慢的原因造成生产环境访问钉钉接口慢的问题

 

解决过程:

  对比测试环境和生产环境的dns值,发现都是一样

//测试环境
[root@u8-myapp ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 202.96.134.133
nameserver 223.5.5.5


//生产环境
[root@erpapp tderp]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 202.96.143.133
nameserver 223.5.5.5

  那么为什么生产环境的解析会慢呢,我试着加一条dns解析,变为以下:

[root@erpapp tderp]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 202.96.143.133
nameserver 223.5.5.5

  然后重新运行程序,结果访问速度和测试环境的一样快了。

posted @ 2022-02-15 15:18  linyouyi  阅读(773)  评论(0编辑  收藏  举报