Будет ли DNSpython использовать Cache? - PullRequest
0 голосов
/ 04 октября 2019

Я использую библиотеку DNSPython, чтобы получить время разрешения DNS в моем скрипте. У меня есть вопрос о части кэширования, о том, использует ли эта библиотека Cache самостоятельно. Мое требование - проверить, сколько нужно для разрешения 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 без кэширования.

1 Ответ

0 голосов
/ 11 октября 2019

Если DNSPython использует кэширование, предложите мне способ его очистки. Также предложите мне другую идею, если она доступна, чтобы получить время разрешения DNS без кэширования.

dns.resolver.Cache.flush()

См. Источник здесь и документацию здесь .

Большинство (практически всех?) Операционных систем имеют утилиты командной строки, которые сбрасывают кэш DNS. Используйте вместе с время для сравнения производительности. Возможно, также рассмотрите синхронизатор времени в вашем коде Python для тестирования производительности.

...