REST API の自動テストのために、Ruby で rest-client gem を使用しています。ただし、リクエストごとに、ホスト名の DNS ルックアップも行うことに気付きました。ローカル環境では、「localhost」を使用するとテストは高速に実行されますが、適切なホスト名を使用すると 2.5 倍の時間がかかり、膨大な数の DNS ルックアップが実行されます。
この問題は、特に rest-client とは関係がなく、基本的な Ruby ネットワーキングに関連していると思います。「resolv」と「resolv-replace」を要求しようとしましたが、役に立ちませんでした。「dig」は、DNS クエリの TTL が 1 時間であることを報告します。
RubyキャッシュDNSリクエストを作成する方法はありますか? IP アドレスを明示的に使用するようにコードを変更することはできますが、それは問題を修正するのに不適切な場所です。
Ubuntu 12.04 と Ruby 1.9.3 を実行しています。