способность

Введение

Пропускная способность (Throughput) – фундаментальная метрика производительности в информационных технологиях, показывающая, сколько единиц работы система успевает выполнить за единицу времени. В зависимости от контекста это могут быть транзакции в секунду (TPS), запросы в секунду (RPS), биты в секунду (bps/Mbps/Gbps) или пакеты в секунду (PPS).

Throughput – один из трёх ключевых параметров производительности наряду с задержкой (latency) и доступностью (availability). Оптимизация throughput – постоянная задача архитекторов высоконагруженных систем, особенно в условиях роста нагрузки и масштабирования.

История и контекст

Понятие пропускной способности пришло в ИТ из теории массового обслуживания (queuing theory), разработанной датским инженером А.К. Эрлангом в начале XX века для анализа телефонных сетей. В вычислительных системах термин активно использовался с 1960-х годов для оценки производительности мэйнфреймов IBM.

С развитием интернета и распределённых систем throughput стал одной из центральных метрик DevOps-мониторинга. Стандарты бенчмаркинга TPC (Transaction Processing Performance Council) – TPC-C, TPC-H – нормируют throughput реляционных СУБД как tpmC (транзакций в минуту). В современных облачных архитектурах throughput фигурирует в SLA и служит основой для автоскейлинга.

Как это работает

Throughput определяется как отношение объёма выполненной работы к затраченному времени: T = W / t. На практике различают несколько видов:

  • Пиковый throughput – максимальная производительность в краткосрочном интервале при оптимальных условиях.
  • Устойчивый (sustained) throughput – средняя производительность при длительной нагрузке без деградации.
  • Эффективный throughput – производительность за вычетом накладных расходов протоколов, ретрансмиссий и ошибок.

На throughput влияют: пропускная способность канала связи, задержки ввода-вывода (I/O latency), конкуренция за ресурсы (CPU, RAM, disk), неэффективность алгоритмов обработки, размер буферов и оконное управление TCP. Закон Литтла (Little's Law) связывает throughput с latency: N = λ × T, где N – среднее число запросов в системе, λ – throughput, T – среднее время обработки.

Где применяется

  • Сетевые устройства: коммутаторы, маршрутизаторы, межсетевые экраны – оцениваются в пакетах в секунду (PPS) и битах в секунду (Gbps).
  • Базы данных: TPS (транзакций в секунду) – стандартный benchmark для OLTP-систем по стандартам TPC-C и TPC-H.
  • Веб-серверы и API: RPS/QPS (requests/queries per second) для HTTP-сервисов и REST API.
  • Системы хранения: IOPS (операций ввода-вывода в секунду) для SSD/NVMe-массивов и систем хранения данных.
  • Брокеры сообщений: Kafka, RabbitMQ – измеряются в сообщениях в секунду при заданном размере сообщения.
  • Широкополосный интернет: Mbps/Gbps – стандарт измерения для потребительских и корпоративных каналов.

Преимущества и ограничения метрики

Преимущества: объективный показатель для capacity planning, основа для SLA, позволяет сравнивать системы в бенчмарках, помогает выявить узкие места (bottleneck analysis) в инфраструктуре.

Ограничения: высокий throughput при высокой latency не означает хорошего пользовательского опыта; throughput одного компонента не отражает throughput всей системы (узкое место определяет максимум); в гетерогенных системах сложно агрегировать разные единицы измерения.

Связь с другими понятиями

Throughput тесно связан с задержкой (latency) через закон Литтла. В сетях throughput ограничен физической пропускной способностью канала и используется совместно с понятием пиковой скорости транзакций (PTR). В теории узких мест (Theory of Constraints) throughput – один из трёх системных показателей эффективности. В контексте сверхскоростного широкополосного интернета throughput является целевым параметром технических спецификаций.