igozhang

——

    接口时长诊断

    api-time

    shell查接口耗时

    curl -s -o /dev/null -w 'dns=%{time_namelookup} tcp=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer} total=%{time_total} code=%{http_code}\n' https://igozhang.cn/bigmem
    

    输出示例:ttfb(Time To First Byte)
    dns=0.011109 tcp=0.295550 tls=0.588507 ttfb=0.894825 total=1.461084 code=200

    DNS 解析 time_namelookup 解析器 /hosts 问题
    TCP 握手 time_connect - time_namelookup 网络丢包、跨机房
    TLS 握手 time_appconnect - time_connect 证书链长、OCSP 吊销检查
    服务端处理 time_starttransfer - time_appconnect 2s 大概率在这
    内容下载 time_total - time_starttransfer 响应体大、带宽

    chrome查接口耗时

    Chrome 打开 F12 → Network 面板,勾选 Preserve log,刷新或者复现接口,找到这个接口,点进去看【Timing】标签

    1. Queueing:浏览器请求排队。原因:浏览器同域名并发限制、请求被推迟、主线程阻塞
    2. Stalled / Blocked:浏览器等可用 TCP 连接;连接池耗尽
    3. DNS Lookup:DNS 解析耗时
    4. Initial connection:TCP 握手
    5. SSL:TLS 握手(https 才有)
    6. Request sent:把 HTTP 请求发出去(几乎瞬间)
    7. Waiting for server response (TTFB,Time To First Byte)

    MP3