La latencia promedio oculta los scrapes lentos. En un trabajo nocturno de 10,000 URLs de productos, la mayoría de las llamadas pueden terminar en 1–2 s mientras que un puñado se queda en 20 s después de un reintento de CAPTCHA. La media aún parece bien; tu plazo no.
Los percentiles (p50, p75, p90, p95, p99) muestran cómo se distribuyen los tiempos de respuesta. Responden: "¿Cuánto tiempo tardó al menos el X% de los scrapes?"
Realízalos en tus objetivos con Scraper APIs. Compara los modos Crawler vs Rendering vs WebUnlocker antes de culpar a un sitio.
Qué significa cada percentil
pN = N% de las solicitudes terminaron en ese tiempo o más rápido.
| Percentil | Significado |
|---|---|
| p50 | Mediana: la mitad de los scrapes fueron así de rápidos o más rápidos. |
| p75 | 3 de cada 4 scrapes terminaron dentro de esta ventana. |
| p90 | 9 de cada 10. |
| p95 | 19 de cada 20. |
| p99 | 99 de cada 100, la cola lenta que rompe los trabajos por lotes. |
Ejemplos de scraping
Mismo trabajo de monitoreo de precios, diferentes páginas:
| Percentil | Ejemplo | Latencia |
|---|---|---|
| p50 | Página de producto estática, modo Crawler | 0.8 s |
| p75 | Listado de categoría con paginación | 1.5 s |
| p90 | PDP de React, Rendering espera por selector de precio | 3 s |
| p95 | Listado de bolsa de trabajo después de un reintento de 403 + rotación de proxy | 6 s |
| p99 | Mercado detrás de DataDome, WebUnlocker + CAPTCHA | 18 s |
p50 = 0.8 s pero p99 = 18 s es normal en scraping. La mediana te dice el costo por página; la cola te dice si el trabajo termina a tiempo.
Por qué el promedio miente
1,000 scrapes: 900 × 1 s, 90 × 8 s (reintento de CAPTCHA), 10 × 45 s (timeout). Promedio ≈ 3 s, pero 10% esperó 8 s+. Los percentiles muestran esa brecha inmediatamente.
Qué observar en producción
Divide la latencia por dominio, estado HTTP y modo de scrape (1 / 2 / 3 créditos). Grafica p50 y p99 juntos: si p50 es plano pero p99 aumenta, probablemente hayas encontrado nuevas reglas anti-bot o selectores rotos, no una ralentización global.
Trabajos por lotes: dimensiona los timeouts en p95, SLAs en p99. Ejemplo de SLA: "p95 ≤ 5 s en 24 h, solo scrapes exitosos."
Conclusiones
- p50 = costo típico del scrape; p99 = por qué el trabajo nocturno no cumplió su ventana.
- Los picos en la cola provienen de reintentos, renderizado JS, anti-bot y sesiones frías de proxy, raros pero costosos.
- Arregla la mediana con Crawler; arregla la cola con WebUnlocker o límites más ajustados por dominio.