Latency (задержка) и Throughput (пропускная способность)
(продолжение предыдущего поста)
Latency (задержка) и Throughput (пропускная способность) представляют одни из ключевых понятий, которые следует учитывать при разработке и развертывании веб-приложения. Рассмотрим, что представляют эти понятия.
### Latency (задержка)
Определение: Latency — это время, которое требуется одному пакету данных для перемещения от сервера к конечному устройству (например, веб- или мобильному приложению). Ключевой акцент делается на задержке каждого отдельного пакета.
Компоненты Latency, показанные на изображении:
1. Server processing + Queuing delay (обработка на сервере + задержка в очереди) — время, которое сервер тратит на обработку запроса и нахождение в очереди перед отправкой.
2. Propagation, transmission & routing delays (задержки распространения, передачи и маршрутизации) — время, необходимое для передачи данных по сети, включая маршрутизацию между узлами.
3. Access Network (сеть доступа) — задержка, связанная с передачей данных через сетевую инфраструктуру (например, Wi-Fi, мобильную сеть).
4. Last-mile delay (задержка «последней мили») — финальная задержка перед достижением конечного устройства (например, смартфона или ПК).
Единицы измерения:
- миллисекунды (ms);
- микросекунды (μs);
- секунды (s).
Ключевые особенности:
- важна для приложений, чувствительных ко времени (например, онлайн-игры, видеозвонки);
- чем меньше Latency, тем быстрее пользователь получает ответ от сервера.
### Throughput (пропускная способность)
Определение: Throughput — это объём данных, который успешно передаётся от сервера к конечному устройству за одну секунду. Фокус здесь — на общем объёме переданных данных, а не на времени передачи отдельных пакетов.
Компоненты Throughput, показанные на изображении:
1. Server (сервер) — источник данных, который передаёт информацию.
2. Access Network (сеть доступа) — инфраструктура, через которую данные доставляются к конечному устройству.
3. End Device (конечное устройство) — место прибытия данных (веб- или мобильное приложение).
Единицы измерения:
- Мбит/с (Mbps) или Гбит/с (Gbps) — для измерения скорости передачи данных;
- запросы в секунду (requests/sec) — для оценки количества обработанных запросов;
- сообщений в секунду (messages/sec) — для измерения количества переданных сообщений.
Ключевые особенности:
- важна для приложений, требующих передачи больших объёмов данных (например, стриминг видео, загрузка файлов);
- чем выше Throughput, тем больше данных можно передать за единицу времени.
### Ключевые различия
- Фокус: Latency фокусируется на задержке отдельных пакетов, а Throughput — на общем объёме переданных данных.
- Единицы измерения: Latency измеряется во времени (ms, μs, s), а Throughput — в объёме данных или количестве запросов/сообщений в единицу времени (Mbps/Gbps, requests/sec, messages/sec).
- Приоритеты: низкая Latency критична для интерактивных приложений, а высокая Throughput — для задач с большими объёмами данных.
- Компоненты: Latency включает этапы обработки и передачи каждого пакета, тогда как Throughput оценивает суммарную эффективность передачи данных.
Post #3525
1.88K