Мы запускаем HAProxy 1.8 на Ubuntu 18.04 и замечаем медленное время запуска. Ранее мы фиксировали медленный запуск при поиске DNS, так как у нас есть много бэкэндов, которые HAProxy должен разрешать при запуске.
Однако, поскольку сервер работает systemd-resolved
при включенном кешировании это не должно быть проблемой (большинство серверных ВМ используют один и тот же хост). Мы подтвердили, что systemd-resolved
на самом деле запущен, и кеш можно включить, dig
команды и глядя на сетевой трафик.
Но при запуске HAProxy мы видим много исходящего трафика поиска DNS, хотя эти запросы должны быть кэшированы. Это также подтверждают systemd-resolved
stats
которые показывают тысячи промахов кеша.
Переход на dnsmasq
вместо того systemd-resolved
заставляет систему вести себя так, как ожидалось - первые несколько запросов DNS не кэшируются, но все после них кэшируется, и запуск HAProxy выполняется быстро.
Возникает вопрос: что могло вызвать systemd-resolved
чтобы не кэшировать запросы DNS, и почему это происходит только с запросами HAProxy, а не при использовании dig
?