Вимірювання часу HEAD у PycURL охоплюють увесь шлях через проксі
Зменште трафік тіла відповіді під час вимірювання запиту через проксі, не плутаючи накопичений TTFB із власною затримкою обробки на проксі.
Запит HEAD дає змогу зменшити трафік тіла відповіді під час порівняння проксі. На наявному дескрипторі PycURL, уже налаштованому з призначенням, проксі та тайм-аутами:
handle.setopt(pycurl.NOBODY, True)
handle.perform()
ttfb = handle.getinfo(pycurl.STARTTRANSFER_TIME)
prepared = handle.getinfo(pycurl.PRETRANSFER_TIME)
Читайте ці значення після успішного передання і перед закриттям дескриптора. NOBODY вибирає HEAD для HTTP; він не прибирає заголовки запиту, узгодження з проксі чи трафік TLS.
STARTTRANSFER_TIME — це час від початку передання до першого байта відповіді. Він охоплює підготовку й обробку на сервері, тому вимірює саме цей маршрут і призначення, а не ізольовану затримку проксі. PRETRANSFER_TIME покриває підготовку протоколу; навіть віднявши його, робота поза самим проксі залишається.
Тримайте призначення, політику переспрямувань і умови повторного використання з'єднання однаковими в усіх порівняннях. Час переспрямувань накопичується. Нове з'єднання й повторно використаний тунель відповідають на різні питання про продуктивність.
HEAD може поводитися інакше, ніж GET. Використовуйте його для легкого спостереження за доступністю або часом, а потім окремо перевіряйте фактичний метод, вибираючи маршрут для застосунку.