Un progresso lento può mantenere un download tramite proxy entro il timeout di lettura
Capite perché byte di risposta occasionali possono mantenere un download tramite proxy entro un limite di inattività di lettura mentre la durata totale diventa inaccettabile.
Una risposta che consegna qualche byte di tanto in tanto può restare entro ogni limite di inattività di lettura pur impiegando molto troppo tempo nel complesso. Un timeout di lettura non deve misurare l'intera durata del trasferimento.
Scegliete la politica in base al carico di lavoro. Un archivio finito ha bisogno di un budget di completamento; un flusso di eventi può continuare legittimamente per ore e restare silenzioso a tratti.
Misurate il progresso utile
Per un download di file, mantenete una scadenza complessiva e considerate i controlli di bassa velocità o di progresso supportati dal client. Definite l'intervallo e la quantità di dati utili. Un byte di battito può mostrare attività senza fare un progresso reale verso il completamento del file.
Tenete la configurazione del tunnel separata dal trasferimento del corpo. Attendere il completamento di CONNECT e ricevere un corpo di destinazione lento sono fasi diverse con prove diverse.
Consumate o chiudete la risposta su ogni percorso di uscita. Lasciare aperto un flusso lento può far attendere la richiesta successiva per la capacità del pool, producendo un altro timeout per un motivo diverso.
Se la durata osservata supera la politica prevista, ispezionate la versione esatta del client e il ciclo di lettura. Un timer di inattività corretto, il comportamento di un ciclo personalizzato e un bug di implementazione richiedono ciascuno una correzione diversa.