1

我正在使用 DNSPython 库在我的脚本中获取 DNS 解析时间。我有一个关于缓存部分的查询,这个库是否自己使用缓存。我的要求是检查从端点解析 DNS 需要多少时间。

这是我现在用来获取解决时间的脚本部分,

resolver = dns.resolver.Resolver()
resolver.timeout = 1
resolver.lifetime = 1
return float("{0:.3f}".format(dns.resolver.query(url).response.time*1000))

如果 DNSPython 使用缓存,请建议我一种刷新它的方法。如果可以的话,还建议我一些其他想法,以在不缓存的情况下获得 DNS 解析时间。

4

1 回答 1

1

如果 DNSPython 使用缓存,请建议我一种刷新它的方法。如果可以的话,还建议我一些其他想法,以在不缓存的情况下获得 DNS 解析时间。

dns.resolver.Cache.flush()

请参阅此处的源代码和此处的文档

大多数(几乎所有?)操作系统都有删除 DNS 缓存的命令行实用程序。与时间一起用于性能基准测试。也许还可以考虑在您的 python 代码中使用时序装饰器进行基准测试。

于 2019-10-11T20:50:58.100 回答