Введение
Пропускная способность (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 является целевым параметром технических спецификаций.