Повільний прогрес може утримувати завантаження через проксі в межах тайм-ауту читання
Зрозумійте, чому рідкісні байти відповіді можуть утримувати завантаження через проксі в межах ліміту бездіяльності читання, тоді як загальна тривалість стає неприйнятною.
Відповідь, яка час від часу доставляє кілька байтів, може залишатися в межах кожного ліміту бездіяльності читання, але загалом займати занадто багато часу. Тайм-аут читання не зобов'язаний вимірювати всю тривалість передавання.
Виберіть політику відповідно до навантаження. Скінченному архіву потрібен бюджет завершення; потік подій може законно тривати годинами й іноді мовчати.
Вимірюйте корисний прогрес
Для завантаження файлу зберігайте загальний дедлайн і враховуйте підтримувані клієнтом елементи керування низькою швидкістю або прогресом. Визначте інтервал і обсяг корисних даних. Байт серцебиття може показувати активність, не даючи реального прогресу до завершення файлу.
Тримайте налаштування тунелю окремо від передавання тіла. Очікування завершення CONNECT і отримання повільного тіла призначення — різні етапи з різними доказами.
Споживайте або закривайте відповідь на кожному шляху виходу. Залишений відкритим повільний потік може змусити наступний запит чекати ємності пулу, що створює ще один тайм-аут з іншої причини.
Якщо спостережувана тривалість перевищує задану політику, перевірте точну версію клієнта й цикл читання. Справний таймер бездіяльності, поведінка власного циклу й помилка реалізації потребують різних виправлень.