缓慢进展可使代理下载保持在其读取超时之内
了解为什么偶尔到达的响应字节能让经代理的下载保持在读取无活动限制内,而总持续时间却变得不可接受。
偶尔发送几个字节的响应可以在每次读取无活动限制之内,但总体上耗时过长。读取超时不必测量整个传输时长。
根据工作负载选择策略。有限的归档需要完成预算;事件流可以合法地持续数小时,并有时保持安静。
衡量有用的进展
对于文件下载,保留总体截止时间,并考虑客户端支持的低速或进度控制。定义间隔和有用数据量。心跳字节可以显示活动,但并未向文件完成取得实际进展。
将隧道建立与正文传输分开。等待 CONNECT 完成和接收缓慢的目标正文是不同阶段,具有不同证据。
在每条退出路径上消费或关闭响应。让缓慢的流保持打开可能使下一个请求等待池容量,从而因另一原因产生又一次超时。
如果观察到的持续时间超过预期策略,请检查确切的客户端版本和读取循环。正常工作的无活动计时器、自定义循环行为和实现缺陷各自需要不同的修复。