上篇内容我们介绍了排查Https请求超时的大体思路,主要强调了自查的重要性,以及一般情况下超时问题的排查流程与关注点。
下篇我们将内容聚焦到超时自查中一块十分重要的内容:在请求通过网卡发出之前,如何有效获取Https请求各阶段Trace记录。目的是为了更好的进行问题归因和为后续排查收集关键信息。
客户端发起Https请求的流程
我们还是以Golang语言作为背景,其标准库客户端请求流程如下:

对于上面每个步骤来说,我们既需要关注耗时,还需要关注它们是否存在错误,特别针对DNS解析我们还需额外关注DNS解析的结果。
每个步骤的目地和原理这里不做介绍,比如:链接复用是什么;DNS解析是做什么用的,解析结果会影响什么等等。这里我们更加聚焦于怎么Trace每个步骤需要关注的信息。