Supongamos que cURL abre una conexión TCP nueva a un proxy HTTP simple, establece un túnel HTTPS y descarga una respuesta. Los tiempos describen hitos que cURL observó en ese camino.

ValorHito medido desde el inicio de la transferencia
time_connectLa conexión con el proxy se completó
time_appconnectEl saludo TLS correspondiente se completó
time_starttransferSe recibió el primer byte de la respuesta
time_totalLa transferencia terminó

Para una captura ilustrativa en un shell POSIX:

curl --proxy http://proxy.example:8080 \
  --output /dev/null \
  --write-out 'connect=%{time_connect} tls=%{time_appconnect} first=%{time_starttransfer} total=%{time_total}\n' \
  https://example.com/

Para una comparación HTTPS pública permitida sin credenciales de proxy, una entrada HTTP de la lista de proxies HTTP puede sustituir al proxy del ejemplo. Los valores son segundos acumulados. No son cuatro duraciones independientes que se sumen. Mantenga el error de transferencia y el estado de la respuesta junto a los números: una conexión fallida o un túnel rechazado no alcanzó cada hito posterior.

Qué puede decirle la resta

Para una sola respuesta correcta, time_total menos time_starttransfer describe el intervalo restante después de que llegó el primer byte. Se trata sobre todo de la transferencia posterior de la respuesta y del trabajo asociado en el lado del cliente. No es el tiempo del proxy para conectarse al sitio web, porque eso ocurrió antes de que la respuesta pudiera llegar.

Del mismo modo, time_starttransfer menos time_connect puede incluir la creación del túnel, TLS, esperas de la red superior, trabajo del servidor y otro procesamiento. Llamar a toda la diferencia "latencia del proxy" asigna varios componentes a un solo participante.

Para separar las esperas del proxy de DNS, conexión y respuesta, obtenga observaciones o trazas correspondientes del lado del proxy. El cliente no recibe esas marcas de tiempo internas solo por usar HTTP CONNECT.

Compare transferencias equivalentes. Las redirecciones añaden tiempos de varias solicitudes, mientras que la reutilización de conexiones y la multiplexación cambian qué trabajo de preparación hace falta. Anote esas condiciones antes de comparar los números de un proxy con los de otro.

Artículos relacionados