在我的rails应用程序中,我使用ruby库resolv
进行nslookup。如果像dgdfgdfgdfg.com
这样的网站进入其谈话时间过长而无法解决。在某些情况下,例如20秒(主要用于不存在的站点)因为它导致应用程序减速。
所以我虽然为dns查找引入了一个超时期限。
dns查找的理想超时时间是什么,以便实际站点的解析不会失败。 10秒就可以了吗?
答案 0 :(得分:3)
虽然RFC 1123的§6.1.3.3建议值不小于5秒,但没有IETF强制值。
Perl的Net::DNS
和命令行dig
实用程序在重试之间默认为5秒。某些版本的Microsoft解析程序appear默认为3秒。
答案 1 :(得分:2)
您可以在用户之间运行一些测试,以找出影响响应/性能的正确数字。
此外,您可以根据网络流量调整该超时。
例如,对于每个成功的resolv
,您可以节省您重新解析它所花费的时间。并且每小时(例如)你可以计算平均值并将其值的两倍设置为超时(请记住,“平均值”大致是“中间”)。这样,如果您的延迟在某个时刻很高,它会自动调整自己以增加超时时间。