Ответ nslookup намного медленнее по сравнению с ответом командлета Resolve-DnsName - PullRequest
0 голосов
/ 06 декабря 2018

Я пытался измерить задержку DNS с помощью PowerShell.

Я хочу проверить время ответа DNS и пропустить кэш локального преобразователя, поэтому я использовал nslookup, и он работает нормально, кроме случаев, когдаЯ сравнил результаты с ответом Resolve-DnsName командлета.

(Measure-Command { Resolve-DnsName www.google.com -DnsOnly }).TotalMillisecond

ПРИМЕЧАНИЕ. Я использую аргумент -DnsOnly, чтобы убедиться, что Resolve-DnsName использует протокол DNS только для разрешения имен.

Resolve-DnsName возвращает ответ через ~ 10 мс, в то время как nslookup возвращает ответ после> 100 мс

Я не уверен, как внутренне работает Resolve-DnsName, но я не уверен, на какой результат положиться.

1 Ответ

0 голосов
/ 07 декабря 2018

Я бы использовал Resolve-DnsName вместо nslookup.

См .: Новый nslookup: Resolve-DnsName .

Вы видите улучшение скорости, потому что Resolve-DnsName - это новая встроенная команда PowerShell, которая после загрузки запускается внутри экземпляра PowerShell.nslookup - это исполняемый файл, который необходимо загрузить и запустить в новом потоке и т. Д. Это позволяет Resolve-DnsName работать намного быстрее и с меньшими накладными расходами.Кроме того, поскольку Resolve-DnsName является встроенной командой PowerShell, в ней доступно гораздо больше параметров, чем nslookup.

...