Retrofit/OkHttp 无法解释的 5 秒延迟

Unexplained 5-second latency with Retrofit/OkHttp

我的 Android 应用程序向各种 API 端点发出大量并发请求,通常我观察到大约 200 毫秒的延迟,这符合我的预期。 (我使用的是最新的 Retrofit 2 和 OkHttp 3,所有默认配置)

但是,对于某些特定请求,延迟突然跳到 ~5200 毫秒。我非常确定这种延迟不在服务器端,因为我可以在浏览器中查询端点并获得正常延迟,并且浏览器和我的设备都在同一个 wifi 连接上。

这似乎没有任何规律可言:只有某些请求受到影响(一直),而且它似乎也是特定于设备的——它发生在我的两台真实设备上,但在模拟器中不会发生。

但不良延迟恰好比正常情况多 5 秒,这似乎确实令人怀疑,这表明客户端的某些东西故意阻止请求 5 秒。

有没有人知道可能导致此延迟的原因?

毕竟这是服务器端的问题。或者更确切地说,这是一个问题,应用程序没有正确处理服务器提供的 cookie,并且正在传回过期的 cookie,导致服务器在响应前等待 5 秒。