我们在Ruby中使用rest-client gem来自动化测试我们的REST API。但是我注意到,它在每次请求时都会为主机名进行DNS查找。在本地环境中,如果使用"localhost",测试运行得很快,但是如果使用正确的主机名,则需要2.5倍的时间,执行大量的DNS查找。
我认为这个问题与rest-client无关,而是基于Ruby的网络编程。我尝试了要求使用'resolv'和'resolv-replace',但是它们没有起到帮助作用。'dig'报告DNS查询具有1小时的TTL。
是否有一种方法可以使Ruby缓存DNS请求? 我可以更改代码以显式使用IP地址,但那是修复问题的错误位置。
我正在运行Ubuntu 12.04和Ruby 1.9.3。
我认为这个问题与rest-client无关,而是基于Ruby的网络编程。我尝试了要求使用'resolv'和'resolv-replace',但是它们没有起到帮助作用。'dig'报告DNS查询具有1小时的TTL。
是否有一种方法可以使Ruby缓存DNS请求? 我可以更改代码以显式使用IP地址,但那是修复问题的错误位置。
我正在运行Ubuntu 12.04和Ruby 1.9.3。