Benchmark8 min de lectura

¿Cuántos GB de proxies necesitas? Medimos las páginas por GB

Cargamos 34 páginas públicas de tres formas a través de un proxy medidor. En 1 GB caben unas 44,000 descargas de solo HTML o unas 900 cargas completas con Playwright.

En esta página

En 1 GB caben unas 44,000 páginas si descargas solo el HTML con un cliente HTTP, y unas 900 si cargas las mismas páginas en un navegador. La forma de descargar cambió la respuesta unas 49 veces; el tipo de sitio la cambió mucho menos.

El 5 de octubre de 2026 cargamos 34 páginas públicas, tres veces en cada uno de tres modos, a través de un proxy medidor local. Los bytes se cuentan en el cable en ambos sentidos, así que incluyen los handshakes TLS, las cabeceras HTTP, todo lo enviado en subida y una estimación del intercambio CONNECT del proxy, no solo el peso de la página.

Cómo se descarga la páginaMediana por páginaPercentil 90Páginas por GB, página medianaPáginas por GB, página del percentil 90
Cliente HTTP, solo HTML (Requests 2.34.2)22.7 KB59.2 KB44,08316,880
Playwright 1.63.0, carga completa1.10 MB2.45 MB906408
Playwright, imágenes, medios y fuentes bloqueados454.6 KB2.28 MB2,199437

1 GB son 10^9 bytes. El valor de cada página es la mediana de sus tres cargas, y el percentil 90 es la cuarta página más pesada de las 34. Si tus destinos son pesados, planifica con esa columna: bloquear imágenes apenas la movió (de 2.45 MB a 2.28 MB), porque las páginas más pesadas lo eran por sus scripts.

Estima tus propios GB

code
GB per day = pages per day × bytes per page × attempts per page ÷ 1,000,000,000

Un ejemplo: 50,000 páginas al día en un navegador completo con la mediana de 1.10 MB y 1.2 intentos por página son 50,000 × 1,103,256 × 1.2 ÷ 10^9 = 66.2 GB al día. El mismo trabajo con un cliente HTTP y la mediana de 22.7 KB son 1.4 GB al día. El 1.2 es una suposición para el ejemplo (un reintento por cada cinco páginas), no algo medido aquí.

Cuenta intentos, no páginas, porque un reintento descarga la página otra vez; Reintentos con proxy: una respuesta perdida, dos trabajos creados explica cuándo un reintento es seguro. Y estas medianas describen nuestras 34 páginas, no las tuyas. Scrapescope, el medidor gratuito usado para este artículo, mide tus propias páginas sin cuenta de proxy.

Páginas por GB según el tipo de página

Mediana de bytes por página, con las páginas por GB entre paréntesis:

Tipo de páginaSolo HTMLCarga completaImágenes, medios y fuentes bloqueados
Documentación y referencia (7 páginas)37.2 KB (26,912)589.6 KB (1,696)433.5 KB (2,306)
Artículos de noticias (5)51.7 KB (19,355)1.32 MB (758)2.24 MB (445)
Entradas de blog (5)24.9 KB (40,202)601.1 KB (1,663)444.3 KB (2,250)
Hilos de foro (3)20.8 KB (48,167)2.45 MB (408)2.26 MB (441)
Páginas de categoría de tienda (5)20.0 KB (50,042)1.33 MB (751)388.6 KB (2,573)
Páginas de producto (5)21.3 KB (46,983)1.16 MB (858)347.9 KB (2,874)
Aplicaciones JavaScript (4)11.1 KB (90,009)1.39 MB (717)751.0 KB (1,331)

Los grupos son pequeños, así que léelos como ejemplos. Las páginas de tienda son sandboxes de scraping y una tienda de demostración, porque dejamos fuera a los minoristas cuyas condiciones prohíben el acceso automatizado; las páginas reales de comercio pueden pesar más. En las aplicaciones JavaScript, los 11 KB corresponden solo al documento HTML. Un cliente HTTP descarga ese único documento y nada de lo que cargaría un script, y medimos bytes, no si los datos que necesitas están en ese HTML.

Qué cambió más los bytes

En orden de efecto en estos datos:

  1. Navegador o cliente HTTP. Una carga completa en navegador movió una mediana de 31 veces los bytes de la descarga del HTML de la misma página, desde 2.1 veces en una página de documentación de Python hasta 195 veces en una página de demostración renderizada con JavaScript.
  2. Los scripts, más que las imágenes. Los scripts fueron el 49% de todos los bytes de carga completa; las imágenes, los medios y las fuentes juntos, el 35%. Los tres hilos de foro se mantuvieron entre 2.2 MB y 2.6 MB en los dos modos de navegador.
  3. Hosts de otros sitios. La mitad de los bytes de carga completa (49.9%) fue a hosts ajenos al sitio de la propia página. La página mediana envió allí el 38%, y 7 páginas no enviaron nada. El host individual más grande fue www.googletagmanager.com: apareció en 17 de las 34 páginas con unos 308 KB por carga, el 12% de todos los bytes de carga completa. Un artículo de noticias contactó con 32 hosts.
  4. Bloquear imágenes, medios y fuentes. El ahorro mediano fue del 28%. Superó el 50% en 10 páginas, hasta el 84%, y quedó por debajo del 10% en 6. Tres de esas 6 movieron más bytes con el bloqueo activado. Un artículo de noticias descargó 1.14 MB de www.gstatic.com en dos de sus tres cargas con bloqueo, un host que no estuvo entre sus tres mayores en ninguna carga completa. En otro, un vídeo incrustado de YouTube movió de 1.9 MB a 2.0 MB con bloqueo y 1.2 MB sin él. Bloquear cambia lo que hace una página, así que mide una segunda ejecución antes de fiarte; la guía de red de Playwright (en inglés) documenta la llamada route usada aquí, y la configuración de proxy en Playwright cubre el lado del proxy.

La compresión no está en la lista porque estuvo activa en todas las ejecuciones: las 34 respuestas HTML llegaron comprimidas (17 Brotli, 14 gzip, 3 Zstandard). El documento HTML mediano ocupaba 83.5 KB una vez descomprimido, frente a 22.7 KB en el cable para toda la descarga. Un cliente que no pide compresión descarga un tamaño más cercano al descomprimido; consulta qué clientes omiten la compresión.

Cuota de subida y sobrecarga del túnel

ModoCuota de subida sobre todos los bytesMediana de bytes de subida por página
Cliente HTTP, solo HTML6.3%1.9 KB
Playwright, carga completa2.7%28.9 KB
Playwright, con bloqueo2.9%17.3 KB

La subida es una cuota pequeña en conjunto y grande en páginas pequeñas: hasta el 21% de una sola descarga de HTML, porque el handshake TLS y la petición cuestan lo mismo por pequeña que sea la respuesta. Comprueba si tu proveedor cuenta ambos sentidos.

El intercambio CONNECT estimado añadió una mediana de 109 bytes a una descarga de HTML y 2.6 KB a una carga completa en navegador, un intercambio por túnel. El navegador no descargó nada en segundo plano por su cuenta: los apartados de scrapescope para tráfico de fondo, preconexiones inactivas y bytes sin atribuir sumaron 0 bytes en las 204 ejecuciones de navegador. Se trata del Chromium incluido con Playwright y sus ajustes de arranque predeterminados; no se probaron otras compilaciones de navegador.

Coste por 1,000 páginas

Página mediana, con la página del percentil 90 entre paréntesis:

Precio por GBSolo HTMLCarga completaImágenes, medios y fuentes bloqueados
$1.00$0.02 ($0.06)$1.10 ($2.45)$0.45 ($2.28)
$3.50$0.08 ($0.21)$3.86 ($8.57)$1.59 ($7.99)
$5.00$0.11 ($0.30)$5.52 ($12.24)$2.27 ($11.42)
$10.00$0.23 ($0.59)$11.03 ($24.48)$4.55 ($22.83)

$3.50 es el precio publicado de ipvolt: la sección de precios muestra "From $3.50/GB", y las preguntas frecuentes dicen "Traffic starts from $3.50/GB at launch." Los otros tres son puntos de referencia redondos, no la lista de precios de nadie; para precios de mercado consulta cuánto cuestan por GB los planes residenciales ilimitados. Cada cifra es bytes ÷ 10^9 × precio. Estima la transferencia y no es una factura.

Comparación con el Web Almanac 2025

El capítulo Page Weight del Web Almanac 2025 dice: "The median home page in 2025 was 2.86 MB on desktop and 2.56 MB on mobile." Su gráfico de páginas interiores termina en 1,963 KB en escritorio y 1,769 KB en móvil en julio de 2025, y su respuesta HTML mediana es de 35 KB en escritorio y 33 KB en móvil.

El capítulo define el peso de página como "the total volume of bytes transferred to a user’s device" y señala que sus cifras de JavaScript son "bytes for compressed JavaScript files", así que se trata de tamaños de transferencia, no de tamaños sin comprimir. No repite esa afirmación junto a la cifra de HTML.

Nuestra mediana de carga completa, 1.10 MB, queda por debajo de las medianas de páginas interiores del Almanac. El conjunto se inclina hacia páginas de documentación y de sandbox y son en su mayoría páginas interiores. Las cifras de HTML se parecen: 22.7 KB en el cable aquí, de 33 KB a 35 KB allí. Se cuentan cosas distintas. El Almanac cuenta lo que pesan las respuestas de una página; esta prueba cuenta cada byte que pasa por el túnel en ambos sentidos.

Método y límites

  • Cuándo y dónde. 5 de octubre de 2026, de 08:37 a 09:04 UTC, desde un servidor en Helsinki (Finlandia), con conexión directa. No se usó ningún proxy de pago.
  • Herramientas. scrapescope 0.1.0 en modo de dimensionado directo como proxy medidor local, Python 3.14.4, Requests 2.34.2 con urllib3 2.8.0 y Playwright 1.63.0 con su Chromium headless shell 153.0.8010.12 incluido.
  • Cada carga. Un proceso nuevo, un navegador nuevo y una caché vacía, sin cookies y sin dar consentimiento. El navegador usó una ventana de 1280×900, esperó al evento load y después hasta 10 segundos a que la red quedara inactiva. No hizo scroll ni clics, así que el contenido que se carga al desplazarse no está contado. El cliente HTTP envió un GET y siguió las redirecciones.
  • Páginas. 34 URL permitidas por robots.txt, sin inicio de sesión y sin muros de pago. Un candidato de foro se descartó antes de medir porque las condiciones de su sitio prohíben el acceso automatizado. Las 306 cargas devolvieron HTTP 200.
  • Variación. La diferencia mediana entre la carga más pesada y la más ligera de una página fue del 0.05% para HTML, del 0.2% para una carga completa y del 0.3% con bloqueo. La mayor fue del 54%, en el artículo de noticias descrito arriba.
  • Límites. Una conexión directa reproduce el transporte, no la ubicación de salida de un proxy, sus bloqueos ni sus reintentos; el README de scrapescope llama al modo de dimensionado "a lower bound" para sitios protegidos. Los bytes de CONNECT son estimados. Las cuotas por tipo de recurso las reparte la herramienta a partir de los totales por host, no se miden por petición. Una ubicación, un día, y las páginas cambian.

Descargas: la lista de URL, el CSV sin procesar con las 306 ejecuciones, el resumen calculado y los scripts de medición con un README.

ipvolt está construyendo infraestructura de proxies para desarrolladores y agentes. Únete a la lista de espera para recibir un correo cuando se abra el acceso.

Fuentes

  1. Web Almanac 2025: Page Weight (HTTP Archive)
  2. scrapescope README at the commit used: sizing mode, what is counted, limits
  3. Playwright for Python: network, aborting requests with route()
  4. Playwright for Python: Request.resource_type
  5. Requests: response content and automatic decoding of compressed bodies

Etiquetas:ProxiesChoosing proxies