连接池复用是性能优化的关键,可以通过 RUM SDK 采集到的指标数据准确识别。判断依据:当满足以下三个条件时即可判定为连接复用——connectionAcquiredTime > 0(连接已获取)、dnsStartTime <= 0(没有 DNS 解析回调)、tcpStartTime <= 0(没有 TCP 连接回调)。连接复用时的特征:所有连接建立相关耗时均为 0,包括 resource.dns_duration = 0、resource.connect_duration = 0、resource.ssl_duration = 0,但仍然存在 callStart → connectionAcquired 的等待时间,即从连接池查找可用连接的时间。这个等待时间是一个重要的性能指标——如果过长可能说明连接池配置不当,例如默认的 OkHttp ConnectionPool 只保留 5 个空闲连接,在高并发场景下容易成为瓶颈。对比HTTPS建连流程:connectStart(TCP开始)→ TCP三次握手 → secureConnectStart(SSL开始)→ SSL/TLS握手 → secureConnectEnd → connectEnd,总连接时间 = connectEnd - connectStart,SSL时间 = secureConnectEnd - secureConnectStart。




