【发布时间】:2012-05-15 08:10:37
【问题描述】:
我们正在使用 Ruby 中的 rest-client gem 来自动测试我们的 REST API。但是我注意到,在它发出的每一个请求中,它都会对主机名进行 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。
【问题讨论】:
-
我也对缓存 DNS 查询感兴趣。你能让它工作吗?
-
还没找到办法。我们使用 IP 地址解决了这个问题。