Какая сетевая задержка из-за дополнительного уровня маршрутизации в docker контейнерах?
Конкретные значения сетевой задержки в Docker-контейнерах зависят от множества факторов, таких как тип сети (Bridge, Host, Overlay), конфигурация сети хоста и нагрузка на инфраструктуру. Однако исследования и тесты показывают примерный диапазон.
Примерные показатели задержки в цифрах
- Bridge-сеть (по умолчанию в Docker):
- Дополнительная задержка: примерно 50–300 микросекунд по сравнению с работой вне контейнера.
- Типичная общая задержка (включая собственную задержку хоста): может варьироваться от 500 микросекунд до 1 миллисекунды при локальном соединении контейнера с хостом.
- Host-сеть (использование сетевого стека хоста):
- Дополнительная задержка: практически отсутствует (менее 50 микросекунд), так как контейнеры используют интерфейс хоста напрямую, без дополнительного уровня маршрутизации.
- Типичная общая задержка: сопоставима с неконтейнеризированными приложениями, около 100–300 микросекунд при локальных соединениях.
- Overlay-сеть (например, в Docker Swarm или Kubernetes):
- Дополнительная задержка: составляет 500 микросекунд до 2 миллисекунд из-за необходимости инкапсуляции пакетов через VXLAN.
- Типичная общая задержка: для многоконтейнерной связи на разных узлах может достигать 1–5 миллисекунд, в зависимости от расстояния между узлами и сетевой инфраструктуры.
- MACVLAN-сеть (создает виртуальные интерфейсы, привязанные к интерфейсу хоста):
- Дополнительная задержка: около 50–200 микросекунд, так как пакеты передаются напрямую на уровень хоста без NAT.
- Типичная общая задержка: сопоставима с Bridge-сетью или может быть меньше, около 300–600 микросекунд.
Пример тестов задержки
При тестировании задержки с помощью ping
или iperf
между контейнером и хостом можно получить задержку в следующих диапазонах:
- Ping между контейнером и хостом (Bridge-сеть): ~0.2–1 мс
- Ping между контейнерами на разных узлах (Overlay-сеть): ~1–5 мс
Эти значения дают общее представление о задержке, однако реальные значения могут варьироваться в зависимости от конфигурации сети, нагрузки на систему и инфраструктуры.
Recommended Posts
Что такое docker:dind и как он работает?
22.03.2023
Что такое Kubernetes
10.02.2023