@evgen9586
Backend-dev. Лублу Enterprise и не люблю понты)

Как понять супер высокий Query Latency из под докера при коннекте на удаленный хост?

Привет. Пытаюсь разгадать загадку и понять в чем суть проблемы

Есть два сервера. Один к примеру локалка с docker compose, второй дев-сервер с Docker Swarm. И у одного и у второго в окружения вертится своя база данных Postgres.

Пинг между серверами +- 40.

Выполняю SQL-запрос на локали. 100 мс
Меняю подключение базы данных на локали на базу данных на дев-сервере (Хост написан напрямую через IP так как они в одной сети)

Запрос выполняется около 30 секунд. Причем размер пакета абсолютно идентичный что в первом случае 10.1 кб что во втором.

Причем если я с локали подключусь к базе данных в обход докера - через VS Code DB плагин и выполню этот же SQL-запрос на удаленный сервер - он выполняется моментально. 100-130 мс. Нет никаких задержек.

Дебажили с сис админом. Он смотрел айпишник dev-сервера Порт 5432 и что с ним происходит когда я делаю запрос к базе данных из под докера локали. Dev-сервер начинает мне отдавать какие-то странные пакеты суммой 20 мб+. И именно когда я запрашиваю из внутрянки докера.

С чем это может быть связано и в какую сторону копать можно?

Причем это касается не только базы данных. С тем же эластиксерчем та же песня. И именно проблема когда запрос выполняется из под докер окружения
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ответы на вопрос 1
Viji
@Viji
DevOps Engineer
1. брандмауэр OC замедляет пакеты из docker сети
2. Routing изнутри докера ведет пакеты по другому маршруту - хотя сложно представить. traceroute?
3. Проверь, поменяй тип сети на контейнере

п.с. нарисовал бы схему сети, было бы легче... например
https://excalidraw.com/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы