Бенчмарк7 мин чтения

Сколько ГБ прокси вам нужно? Мы измерили, сколько страниц помещается в 1 ГБ

Мы загрузили 34 публичные страницы тремя способами через измеряющий прокси. В 1 ГБ входит около 44,000 запросов только HTML или около 900 полных загрузок Playwright.

На этой странице

В 1 ГБ помещается около 44,000 страниц, если забирать только HTML обычным HTTP-клиентом, и около 900, если загружать те же страницы в браузере. Способ загрузки изменил ответ примерно в 49 раз; тип сайта повлиял на него гораздо меньше.

5 октября 2026 года мы загрузили 34 публичные страницы, по три раза в каждом из трёх режимов, через локальный измеряющий прокси. Байты считаются на линии в обоих направлениях, поэтому в них входят TLS-рукопожатия, HTTP-заголовки, всё отправленное на сервер и оценка обмена CONNECT с прокси, а не только вес страницы.

Как загружается страницаМедиана на страницу90-й перцентильСтраниц на 1 ГБ, медианная страницаСтраниц на 1 ГБ, страница 90-го перцентиля
HTTP-клиент, только HTML (Requests 2.34.2)22.7 KB59.2 KB44,08316,880
Playwright 1.63.0, полная загрузка1.10 MB2.45 MB906408
Playwright, изображения, медиа и шрифты заблокированы454.6 KB2.28 MB2,199437

1 ГБ равен 10^9 байт. Значение каждой страницы взято как медиана трёх её загрузок, а 90-й перцентиль соответствует четвёртой по тяжести из 34 страниц. Если ваши цели тяжёлые, планируйте по этому столбцу: блокировка изображений почти не сдвинула его (с 2.45 MB до 2.28 MB), потому что самые тяжёлые страницы были тяжёлыми из-за скриптов.

Оцените свои ГБ

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

Пример: 50,000 страниц в день в полном браузере при медиане 1.10 MB и 1.2 попытки на страницу дают 50,000 × 1,103,256 × 1.2 ÷ 10^9 = 66.2 ГБ в день. Та же задача с HTTP-клиентом при медиане 22.7 KB занимает 1.4 ГБ в день. Число 1.2 принято для примера (один повтор на каждые пять страниц), здесь оно не измерялось.

Считайте попытки, а не страницы, потому что повтор скачивает страницу заново; в статье Повторы через прокси: один потерянный ответ, две созданные задачи разобрано, когда повтор вообще безопасен. И эти медианы описывают наши 34 страницы, а не ваши. Scrapescope, бесплатный измеритель, использованный для этой статьи, измеряет ваши собственные страницы без аккаунта прокси.

Страниц на 1 ГБ по типам страниц

Медиана байт на страницу, в скобках число страниц на 1 ГБ:

Тип страницыТолько HTMLПолная загрузкаИзображения, медиа и шрифты заблокированы
Документация и справочники (7 страниц)37.2 KB (26,912)589.6 KB (1,696)433.5 KB (2,306)
Новостные статьи (5)51.7 KB (19,355)1.32 MB (758)2.24 MB (445)
Записи в блогах (5)24.9 KB (40,202)601.1 KB (1,663)444.3 KB (2,250)
Темы на форумах (3)20.8 KB (48,167)2.45 MB (408)2.26 MB (441)
Страницы категорий магазина (5)20.0 KB (50,042)1.33 MB (751)388.6 KB (2,573)
Страницы товаров (5)21.3 KB (46,983)1.16 MB (858)347.9 KB (2,874)
JavaScript-приложения (4)11.1 KB (90,009)1.39 MB (717)751.0 KB (1,331)

Группы маленькие, поэтому читайте их как примеры. Страницы магазинов взяты из песочниц для скрейпинга и одного демо-магазина, потому что мы не включали ритейлеров, чьи условия запрещают автоматический доступ; настоящие страницы ритейла могут быть тяжелее. Для JavaScript-приложений 11 KB приходится только на сам HTML-документ. HTTP-клиент забирает этот один документ и ничего из того, что загрузил бы скрипт, а мы измеряли байты, а не то, есть ли в этом HTML нужные вам данные.

Что сильнее всего меняло число байт

В порядке убывания эффекта в этих данных:

  1. Браузер или HTTP-клиент. Полная загрузка в браузере перемещала по медиане в 31 раз больше байт, чем запрос HTML той же страницы: от 2.1 раза на странице документации Python до 195 раз на демо-странице с рендерингом на JavaScript.
  2. Скрипты, а не изображения. На скрипты пришлось 49% всех байт полной загрузки; на изображения, медиа и шрифты вместе 35%. Три темы на форумах оставались между 2.2 MB и 2.6 MB в обоих браузерных режимах.
  3. Хосты других сайтов. Половина байт полной загрузки (49.9%) ушла на хосты за пределами собственного сайта страницы. Медианная страница отправила туда 38%, а 7 страниц не отправили ничего. Самым крупным отдельным хостом был www.googletagmanager.com: он встретился на 17 из 34 страниц, около 308 KB за загрузку, 12% всех байт полной загрузки. Одна новостная статья обратилась к 32 хостам.
  4. Блокировка изображений, медиа и шрифтов. Медианная экономия составила 28%. На 10 страницах она превысила 50% и доходила до 84%, а на 6 была меньше 10%. Три из этих 6 страниц с блокировкой передали больше байт. Одна новостная статья в двух из трёх загрузок с блокировкой получила 1.14 MB с www.gstatic.com, хоста, который ни в одной полной загрузке не входил в тройку её крупнейших. На другой встроенный ролик YouTube передал от 1.9 MB до 2.0 MB с блокировкой и 1.2 MB без неё. Блокировка меняет поведение страницы, поэтому измерьте второй прогон, прежде чем на неё полагаться; вызов route, использованный здесь, описан в руководстве Playwright по сети, а сторона прокси разобрана в настройке прокси в Playwright.

Сжатие в этот список не вошло, потому что оно было включено в каждом прогоне: все 34 HTML-ответа пришли сжатыми (17 Brotli, 14 gzip, 3 Zstandard). Медианный HTML-документ занимал 83.5 KB после распаковки при 22.7 KB на линии за весь запрос. Клиент, который не просит сжатие, скачивает объём ближе к распакованному; смотрите, какие клиенты пропускают сжатие.

Доля исходящего трафика и накладные расходы туннеля

РежимДоля исходящих байт во всех байтахМедиана исходящих байт на страницу
HTTP-клиент, только HTML6.3%1.9 KB
Playwright, полная загрузка2.7%28.9 KB
Playwright, с блокировкой2.9%17.3 KB

Исходящий трафик составляет малую долю в целом и большую на маленьких страницах: до 21% одного запроса HTML, потому что TLS-рукопожатие и сам запрос стоят одинаково, каким бы маленьким ни был ответ. Проверьте, считает ли ваш провайдер оба направления.

Оценочный обмен CONNECT добавлял по медиане 109 байт к запросу HTML и 2.6 KB к полной загрузке в браузере, по одному обмену на туннель. Сам браузер в фоне ничего не загружал: корзины scrapescope для фонового трафика, простаивающих предварительных соединений и неотнесённых байт содержали 0 байт во всех 204 браузерных прогонах. Это Chromium из комплекта Playwright с настройками запуска по умолчанию; другие сборки браузеров не тестировались.

Стоимость 1,000 страниц

Медианная страница, в скобках страница 90-го перцентиля:

Цена за ГБТолько HTMLПолная загрузкаИзображения, медиа и шрифты заблокированы
$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 соответствует опубликованной цене ipvolt: в разделе цен указано "From $3.50/GB", а в FAQ сказано "Traffic starts from $3.50/GB at launch." Остальные три цены выбраны как круглые ориентиры и не взяты ни из чьего прайс-листа; рыночные цены смотрите в статье сколько стоят безлимитные резидентные тарифы за ГБ. Каждая цифра получена как байты ÷ 10^9 × цена. Это оценка передачи, а не счёт.

Сравнение с Web Almanac 2025

В главе Page Weight Web Almanac 2025 сказано: "The median home page in 2025 was 2.86 MB on desktop and 2.56 MB on mobile." График внутренних страниц заканчивается на 1,963 KB для десктопа и 1,769 KB для мобильных в июле 2025 года, а медианный HTML-ответ равен 35 KB на десктопе и 33 KB на мобильных.

Глава определяет вес страницы как "the total volume of bytes transferred to a user’s device" и отмечает, что её цифры по JavaScript представляют собой "bytes for compressed JavaScript files", так что это размеры передачи, а не размеры без сжатия. Рядом с цифрой для HTML это утверждение не повторяется.

Наша медиана полной загрузки, 1.10 MB, ниже медиан Almanac для внутренних страниц. Набор смещён в сторону документации и страниц из песочниц и состоит в основном из внутренних страниц. Цифры для HTML близки: 22.7 KB на линии здесь и от 33 KB до 35 KB там. Считаются разные вещи. Almanac считает, сколько весят ответы страницы; этот тест считает каждый байт через туннель в обоих направлениях.

Метод и ограничения

  • Когда и где. 5 октября 2026 года, с 08:37 до 09:04 UTC, с сервера в Хельсинки (Финляндия), по прямому соединению. Платный прокси не использовался.
  • Инструменты. scrapescope 0.1.0 в режиме прямой оценки как локальный измеряющий прокси, Python 3.14.4, Requests 2.34.2 с urllib3 2.8.0 и Playwright 1.63.0 с Chromium headless shell 153.0.8010.12 из его комплекта.
  • Каждая загрузка. Новый процесс, новый браузер и пустой кэш, без cookie и без согласий. Браузер использовал окно 1280×900, ждал события load и затем до 10 секунд простоя сети. Он не прокручивал страницу и не кликал, поэтому контент, который подгружается при прокрутке, не учтён. HTTP-клиент отправлял один GET и следовал редиректам.
  • Страницы. 34 URL, разрешённые в robots.txt, без входа в аккаунт и без платного доступа. Один кандидат из форумов был исключён до измерений, потому что условия его сайта запрещают автоматический доступ. Все 306 загрузок вернули HTTP 200.
  • Разброс. Медианная разница между самой тяжёлой и самой лёгкой загрузкой одной страницы составила 0.05% для HTML, 0.2% для полной загрузки и 0.3% с блокировкой. Самая большая, 54%, пришлась на новостную статью, описанную выше.
  • Ограничения. Прямое соединение воспроизводит транспорт, но не точку выхода прокси, блокировки и повторы; README scrapescope называет режим прямой оценки "a lower bound" для защищённых сайтов. Байты CONNECT оценочные. Доли по типам ресурсов инструмент распределяет из итогов по хостам, а не измеряет по каждому запросу. Одно место, один день, и страницы меняются.

Файлы: список URL, исходный CSV со всеми 306 прогонами, рассчитанная сводка и скрипты измерения с README.

ipvolt строит прокси-инфраструктуру для разработчиков и агентов. Вступите в лист ожидания — одно письмо, когда откроется доступ.

Источники

  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

Теги:ProxiesChoosing proxies