Powolny postęp może utrzymać pobieranie przez proxy w granicach limitu odczytu
Zrozum, dlaczego sporadyczne bajty odpowiedzi mogą utrzymać pobieranie przez proxy w granicach limitu bezczynności odczytu, podczas gdy całkowity czas staje się nieakceptowalny.
Odpowiedź, która od czasu do czasu dostarcza kilka bajtów, może pozostawać w granicach każdego limitu bezczynności odczytu, a jednocześnie zajmować znacznie zbyt dużo czasu ogółem. Limit czasu odczytu nie musi mierzyć całego czasu trwania transferu.
Wybierz politykę odpowiednio do obciążenia. Ograniczone archiwum potrzebuje budżetu ukończenia; strumień zdarzeń może legalnie trwać godzinami i czasami milczeć.
Mierz użyteczny postęp
W przypadku pobierania pliku zachowaj ogólny termin i rozważ obsługiwane przez klienta mechanizmy niskiej prędkości lub postępu. Zdefiniuj interwał i ilość użytecznych danych. Bajt pulsu może pokazywać aktywność bez rzeczywistego postępu w kierunku ukończenia pliku.
Utrzymuj konfigurację tunelu oddzielnie od transferu ciała. Czekanie na zakończenie CONNECT i odbieranie wolnego ciała docelowego to różne etapy z różnymi dowodami.
Konsumuj lub zamykaj odpowiedź na każdej ścieżce wyjścia. Pozostawienie wolnego strumienia otwartego może sprawić, że następne żądanie będzie czekać na pojemność puli, co powoduje kolejny limit czasu z innego powodu.
Jeśli zaobserwowany czas przekracza zamierzoną politykę, sprawdź dokładną wersję klienta i pętlę odczytu. Poprawnie działający licznik bezczynności, zachowanie niestandardowej pętli i błąd implementacji wymagają różnych poprawek.