Throughput — что это, чем отличается от bandwidth | Глоссарий FREEHOSTING

Throughput

Полезная пропускная способность
Throughput — Фактический объём полезных данных, переданных по каналу или системе за единицу времени. Отличается от bandwidth: учитывает потери, накладные расходы протоколов и реальную нагрузку, измеряется в бит/с или операциях в секунду.

Определение простыми словами

Throughput — это реальная скорость передачи полезных данных, которую вы получаете на канале или системе хранения. В отличие от bandwidth (теоретической пропускной способности), throughput учитывает накладные расходы заголовков TCP/IP, потери пакетов, ретрансмиты, время на handshake и ограничения железа. Канал на 1 Гбит/с в идеальных условиях даёт throughput около 940 Мбит/с в TCP-приёме на длинных дистанциях, и заметно меньше на коротких пакетах с большим RTT.

В системах хранения throughput измеряется в МБ/с — это поток данных при последовательном чтении или записи. Для оценки производительности случайного доступа используется отдельная метрика — IOPS. Реальный throughput зависит и от latency: при больших задержках TCP-окно заполняется медленнее, и канал не выходит на максимум.

Сравнение

Метрика Что измеряет Единица Влияет
Bandwidth Теоретический максимум канала бит/с Тип среды и интерфейса
Throughput Полезная скорость передачи бит/с, МБ/с Протоколы, потери, RTT
Latency Задержка одного пакета мс Геолокация, оборудование
IOPS Операций ввода-вывода в секунду ops/s Тип диска, размер блока

Кейсы использования

  • Оценка пригодности VPS для бэкапов — нужен throughput не ниже 100 МБ/с по сети и диску.
  • Тестирование канала между двумя серверами через iperf3 перед запуском репликации БД.
  • Подбор тарифа для стриминга и видеоконференций — throughput важнее, чем заявленные мегабиты.
  • Сравнение SSD/NVMe-моделей — последовательное чтение vs запись.
  • Негативный сценарий: провайдер пишет «канал 10 Гбит/с», а throughput до клиента в реальности 2 Гбит/с из-за переподписки и узкого аплинка. Проверять только нагрузочными тестами на разных направлениях.

Технические детали

Замер throughput канала через iperf3:

apt install iperf3
iperf3 -s -p 5201
iperf3 -c server.example.com -p 5201 -t 30 -P 4
iperf3 -c server.example.com -R -t 30
fio --name=write --filename=/tmp/test --size=4G --bs=1M --rw=write --direct=1 --numjobs=1
fio --name=read --filename=/tmp/test --size=4G --bs=1M --rw=read --direct=1 --numjobs=1

Параметр -P 4 запускает 4 параллельных потока — это снимает ограничение одного TCP-соединения. Флаг -R меняет направление на download. Для дисков fio с блоком 1M показывает последовательный throughput, мелкие блоки 4k дадут IOPS-картину.

Частые вопросы

Чем throughput отличается от bandwidth?

Bandwidth — теоретический максимум канала или интерфейса. Throughput — фактическая полезная скорость с учётом накладных расходов протоколов, потерь пакетов и задержек.

Как замерить реальный throughput канала?

Самый показательный способ — iperf3 в параллельных потоках (флаг -P) на 30–60 секунд. Однопоточный тест часто упирается в TCP-окно и не показывает максимум канала.

Почему throughput SSD ниже заявленного?

Производитель указывает максимум при идеальных условиях: пустой накопитель, последовательное чтение, большой блок. На загруженном диске и в смешанной нагрузке throughput падает в разы.