Las conexiones concurrentes, a menudo llamadas hilos, son el número de solicitudes que puedes tener abiertas a través de un proxy al mismo tiempo. Un límite de 50 significa que hasta 50 solicitudes pueden ejecutarse en paralelo. Cuando una finaliza, otra puede comenzar. Más concurrencia finaliza trabajos grandes más rápido, pero cada conexión abierta también utiliza recursos en el proxy y en el servidor de destino.
Un estado 429 Too Many Requests significa que has enviado demasiadas solicitudes en un período de tiempo determinado.
Hilos, Conexiones y Solicitudes
- Hilo: Una unidad de trabajo en tu propio programa. En un scraper simple, cada hilo envía una solicitud y espera su respuesta.
- HTTP/1.x: Una conexión maneja solicitudes en gran medida una a la vez, por lo que los clientes HTTP/1.0 y HTTP/1.1 abren varias conexiones para hacer solicitudes concurrentes.
- HTTP/2: Muchas solicitudes, llamadas flujos, pueden entrelazarse en una sola conexión. Un servidor establece su límite con
SETTINGS_MAX_CONCURRENT_STREAMS. - Por qué es importante: Tu conteo de hilos, conexiones abiertas y solicitudes en vuelo no siempre son el mismo número, así que verifica a cuál límite se refiere.
Elegir un Nivel de Concurrencia Seguro
- Sé conservador: La especificación HTTP/1.1 (RFC 9112) dice que un cliente debe limitar el número de conexiones abiertas simultáneamente a un servidor dado. No establece un máximo fijo.
- Por qué: Cada conexión consume recursos del servidor, y muchas conexiones paralelas pueden causar congestión que menos conexiones evitarían.
- Respeta Retry-After: Una respuesta
429 Too Many Requestspuede incluir un encabezadoRetry-Afterque indica cuánto tiempo esperar antes de intentar nuevamente.