Progresul lent poate menține o descărcare prin proxy în limita timpului de citire
Înțelegeți de ce octeții ocazionali de răspuns pot menține o descărcare prin proxy într-o limită de inactivitate la citire în timp ce durata totală devine inacceptabilă.
Un răspuns care livrează ocazional câțiva octeți poate rămâne în fiecare limită de inactivitate la citire, dar durează mult prea mult în total. Un timp limită de citire nu trebuie să măsoare întreaga durată a transferului.
Alegeți politica în funcție de sarcina de lucru. O arhivă finită are nevoie de un buget de finalizare; un flux de evenimente poate continua legitim ore întregi și poate fi silențios uneori.
Măsurați progresul util
Pentru descărcarea unui fișier, păstrați un termen general și luați în considerare controalele de viteză mică sau de progres acceptate de client. Definiți intervalul și cantitatea de date utile. Un octet de bătaie a inimii poate arăta activitate fără a face progres real spre finalizarea fișierului.
Țineți configurarea tunelului separată de transferul corpului. Așteptarea finalizării CONNECT și primirea unui corp lent de destinație sunt etape diferite cu dovezi diferite.
Consumați sau închideți răspunsul pe fiecare cale de ieșire. Lăsarea unui flux lent deschis poate face următoarea cerere să aștepte capacitatea pool-ului, ceea ce produce un alt timp limită dintr-un motiv diferit.
Dacă durata observată depășește politica dorită, inspectați versiunea exactă a clientului și bucla de citire. Un temporizator de inactivitate corect, comportamentul unei bucle personalizate și o eroare de implementare necesită fiecare o corecție diferită.