Во что упирается количество подключений от контейнера к контейнеру?
На сервере поднято 4 docker-контейнера: mariadb (официальный образ из докер-хаба), самособорный контейнер с nginx в роли reversed proxy и два контейнера с приложениями, к которым доступ из вышестоящего nginx и проксируется.
Сегодня на одном из контейнеров приложения App1 на объеме 500 обращений в секунду начало отваливаться подключения к MariaDB с ошибкой вида "cannot assign requested address", причем не 100% запросов, а именно некоторые из них (к примеру, из пяти рефрешей скрипта, обращающегося к базе, каждый 5 или 6 падал с ошибкой подключения). Второе приложение App2 (100rps) работало исправно.
Любые попытки посмотреть текущее количество активных подключений в MariaDB показывали, что оно на четверть ниже заданных в конфиге базы лимитов, а работающее App2 лишь продолжает наводить на мысль, что я уперся в какое-то количество активных подключений на контейнер в App1.
Как можно отладить такую ситуацию и куда в первую очередь смотреть?
Приложения находятся в отдельном docker-compose от базы и nginx, связаны общей между композами сетью, обращения к базе идут по имени контейнера.
мне кажется стоит смотреть на число активных сокетов контейнера (ip адреса) App1. У меня ощущения что вы упираетесь в максимальное число открытых портов для исходящих соединений.
Подробнее можно прочитать здесь и провести указанное исследование https://www.percona.com/blog/2014/12/08/what-happe...
Vigilo Confido, контейнеры используют ядро ОС, так что это вполне возможно испектировать и на хостовой системе. Я предполагаю именно проблему на уровне числа открытых соединений на порты с 1 ip адреса, а не какое-то системное ограничение