Pomiary czasu HEAD w PycURL mierzą całą trasę przez proxy
Zmniejsz ruch treści odpowiedzi podczas pomiaru żądania przez proxy, bez mylenia skumulowanego TTFB z opóźnieniem przetwarzania samego proxy.
Żądanie HEAD może zmniejszyć ruch treści odpowiedzi podczas porównywania proxy. Na istniejącym uchwycie PycURL, już skonfigurowanym z celem, proxy i limitami czasu:
handle.setopt(pycurl.NOBODY, True)
handle.perform()
ttfb = handle.getinfo(pycurl.STARTTRANSFER_TIME)
prepared = handle.getinfo(pycurl.PRETRANSFER_TIME)
Odczytaj te wartości po udanym transferze i przed zamknięciem uchwytu. NOBODY wybiera HEAD dla HTTP; nie usuwa nagłówków żądania, negocjacji z proxy ani ruchu TLS.
STARTTRANSFER_TIME to czas od początku transferu do pierwszego bajtu odpowiedzi. Obejmuje przygotowanie i przetwarzanie po stronie serwera, więc mierzy tę trasę i cel, a nie izolowane opóźnienie proxy. PRETRANSFER_TIME obejmuje przygotowanie protokołu; nawet po jego odjęciu pozostaje praca poza samym proxy.
Utrzymuj cel, politykę przekierowań i warunki ponownego użycia połączenia jednakowe we wszystkich porównaniach. Czasy przekierowań sumują się. Nowe połączenie i ponownie użyty tunel odpowiadają na różne pytania o wydajność.
HEAD może też zachowywać się inaczej niż GET. Używaj go do lekkiej obserwacji dostępności lub czasu, a następnie osobno zweryfikuj rzeczywistą metodę przy wyborze trasy dla aplikacji.