Nous utilisons la gemme rest-client en Ruby pour les tests automatisés de notre API REST. Cependant, j'ai remarqué qu'à chaque demande qu'il fait, il effectue également une recherche DNS pour le nom de l'hôte. Dans l'environnement local, si "localhost" est utilisé, les tests se déroulent rapidement, mais si le nom d'hôte approprié est utilisé, ils prennent 2,5 fois plus de temps, en effectuant un grand nombre de recherches DNS.
Je pense que ce problème n'est pas lié à rest-client en particulier, mais au réseau Ruby de base. J'ai essayé de demander 'resolv' et 'resolv-replace' mais cela n'a rien donné. dig " indique que la requête DNS a un TTL de 1 heure.
Existe-t-il un moyen de faire en sorte que Ruby mette en cache les requêtes DNS ? Je pourrais modifier le code pour utiliser explicitement l'adresse IP, mais ce n'est pas le bon endroit pour résoudre le problème.
J'utilise Ubuntu 12.04 et Ruby 1.9.3.