Рейтинг:1

Как избежать «Не удалось разрешить хост» внутри Docker при большой нагрузке?

флаг us

проблема, с которой я сталкиваюсь в течение нескольких месяцев, объясняется очень просто:

Я запускаю PHP-FPM с докером, и всякий раз, когда нагрузка на сервер увеличивается Я случайно получаю ошибки «Не удалось разрешить хост» (я думаю, из-за расширения curl).

Я уже изменил резолвер-хосты в конфигурации докера (например, google или cloudflare), а также установил локальный преобразователь чтобы избежать проблем с резолвером моей хостинговой компании.

Но главная проблема не в самом резолвере, а в том, что при определенном уровне нагрузки докер уже не может резолвить какие-либо DNS-запросы. Я понятия не имею, в чем может быть причина. Я запускаю Docker Swarm, и, возможно, на хосте есть только определенное количество доступных HTTP-слотов, например «лимит открытых файлов» или что-то подобное.

Если у кого-то есть идея, пожалуйста, дайте мне знать.
Любая помощь приветствуется!

флаг in
Я бы попытался переключиться на преобразователь, который поддерживает DNS через TCP или HTTPS (и, конечно же, настроить соответствующий DNS-сервер, который также его поддерживает). Обычный DNS использует UDP, поэтому запросы или ответы могут легко теряться. Используя преобразователь, который использует TCP, вы можете исключить UDP как потенциальный источник проблемы.
michabbb avatar
флаг us
спасибо за ваш совет, но я считаю, что проблема не в распознавателе, как я уже пытался объяснить, а в том, что контейнер не может получить запрос dsn от любого распознавателя, возможно, есть способ позволить докеру обрабатывать DNS запросы через TCP, проверим, что....
michabbb avatar
флаг us
Кстати, это очень интересный документ о разрешении udp и tcp: https://ripe76.ripe.net/presentations/95-jonglez-dns-tcp-ripe76.pdf.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.