Throughput — это то, сколько полезных данных реально проходит через сеть, а не максимально возможная скорость. Разница между «заявленной скоростью» и throughput объясняется накладными расходами протоколов, задержками, потерями пакетов и ограничениями оборудования.
Факторы, влияющие на throughput
- Потери пакетов: при 1% потерь TCP снижает скорость в 5–10 раз из-за механизма контроля перегрузки.
- RTT (задержка): TCP окно определяет, сколько данных «в полёте». Throughput ≈ TCP window size / RTT. При RTT 100 мс и окне 64 КБ максимальный throughput составит ~5 Мбит/с, даже на гигабитном канале.
- Накладные расходы протоколов: заголовки IP, TCP, TLS занимают 40–80 байт на пакет при MSS 1460 байт — ~2,7–5,5% overhead.
- Оборудование: CPU сервера, сетевая карта, коммутатор, файрвол — каждый элемент может стать узким местом.
Throughput vs bandwidth vs latency
- Bandwidth (полоса пропускания)
- Максимально возможная пропускная способность канала (физический предел). Например, 1 Гбит/с у порта.
- Throughput
- Фактическая скорость передачи полезных данных в реальных условиях.
- Latency (задержка)
- Время доставки одного пакета. Влияет на throughput через TCP window size.
- Goodput
- Throughput только полезной нагрузки без заголовков протоколов.
История
Термин появился в теории информации Клода Шеннона (1940-е) применительно к пропускной способности каналов связи. В компьютерных сетях throughput начали измерять с появлением ARPANET в конце 1960-х. Современные инструменты измерения: iperf3, netperf, nload.
Измерение в хостинге
Для измерения throughput на VPS или выделенном сервере: iperf3 -c iperf.he.net. В мониторинге системы используют vnstat для статистики трафика и nload для реального времени. SLA на хостинге обычно гарантирует полосу (bandwidth), а не throughput — последний зависит от состояния сети.
Throughput vs Latency в хостинге
Throughput и latency — взаимосвязанные, но разные метрики. Высокий throughput при высокой latency: CDN может передавать 10 Гбит/с видеоконтента, но TTFB первого байта — 200 мс (нормально для стриминга). Низкая latency при низком throughput: VoIP требует latency <150 мс, но использует 10–100 кбит/с. Для веб-серверов важнее latency (TTFB) и количество запросов в секунду, чем суммарная пропускная способность.
Измерение throughput
Iperf3 — стандартный инструмент измерения throughput между двумя точками: iperf3 -s (сервер), iperf3 -c SERVER_IP (клиент). Показывает TCP/UDP throughput, jitter, потери пакетов. Bandwidth канала — теоретический максимум, throughput — реально достигаемый показатель (обычно 70–95% от bandwidth при TCP).
Для диагностики снижения throughput: MTU mismatch (несоответствие MTU вызывает фрагментацию), перегрузка сети (packet loss > 0.1% критично для TCP throughput), TCP window size (слишком маленький буфер ограничивает скорость на каналах с высоким RTT).
Throughput в контексте хостинговых тарифов
Провайдеры указывают: port speed — физическая скорость порта (1/10/100 Гбит/с), burst throughput — максимальная кратковременная скорость, sustained throughput — гарантированная постоянная скорость, 95th percentile billing — оплата по 95-му перцентилю трафика (популярно в wholesale colocation). При аренде выделенного сервера «безлимитный трафик» означает безлимитный объём, но не гарантированный throughput — скорость может ограничиваться шейпером.