Мы используем гем rest-client в Ruby для автоматического тестирования нашего REST API. Однако я заметил, что при каждом отдельном запросе он также выполняет поиск имени хоста в DNS. В локальной среде, если используется «localhost», тесты выполняются быстро, но если используется правильное имя хоста, они занимают в 2,5 раза больше времени, выполняя огромное количество запросов DNS.
Я считаю, что эта проблема связана не с остальным клиентом, а с базовой сетью Ruby. Я пробовал требовать «разрешить» и «разрешить-заменить», но они не помогли. 'dig' сообщает, что DNS-запрос имеет TTL 1 час.
Есть ли способ заставить Ruby кэшировать DNS-запросы? Я мог бы изменить код, чтобы явно использовать IP-адрес, но это неправильное место для решения проблемы.
Я использую Ubuntu 12.04 и Ruby 1.9.3.