Partager via


Windows: Comment mesurer le temps de réponse des serveurs DNS (FR-FR)

Cet article Wiki a été créé pour partager avec vous comment c’est possible de mesurer le temps de réponse de vos serveurs DNS quand vous effectuez des résolutions DNS. Cette tâche peut simplement être faite en utilisant Windows PowerShell et en combinant l’utilisation des cmdlets Measure-Command et Resolve-DnsName.

Si vous souhaitez mesurer le temps de réponse d’un serveur DNS, vous pouvez exécuter le script suivant:

#####################Variables#####################

$numberoftests = 10

###################################################

#####################Main#####################

cls

$dnsserver = "8.8.8.8"

$totalmeasurement = 0

$i = 0

while ($i -ne $numberoftests)

{

    $measurement = (Measure-Command {Resolve-DnsName www.bing.com -Server $dnsserver –Type A}).TotalSeconds

    $totalmeasurement += $measurement

    $i += 1

}

$totalmeasurement = $totalmeasurement / $numberoftests

"DNS Server: " + $dnsserver + ", Response time: " + $totalmeasurement + " seconds"

Le script exécute ce qui suit:

  • Il interroge votre serveur DNS que vous avez spécifié comme valeur de la variable $dnsserver afin d’obtenir l’enregistrement A de www.bing.com (Vous pouvez ajuster la requête DNS si vous le souhaitez)
  • Il interroge le serveur DNS avec le number de fois qui est spécifié comme valeur de la variable $numberoftests
  • Il mesure et affiche la moyenne du temps de traitement du serveur DNS

Important: Plus le nombre que vous avez spécifié comme valeur de la variable $numberoftests est élevé, plus les résultats obtenus sont fiables.

Ci-dessous un imprime écran des résultats obtenus en exécutant le script:

 

Si vous utilisez un domaine Active Directory et si vos contrôleurs de domaine sont des serveurs DNS, vous pouvez utiliser le script suivant pour effectuer les mêmes mesures sur tous serveurs du domaine :

#####################Variables#####################

$numberoftests = 10

###################################################

#####################Main#####################

cls

$myForest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()

$domaincontrollers = $myforest.Sites | % { $_.Servers } | Select Name

foreach ($DomainController in $DomainControllers)

{

      $totalmeasurement = 0

      $i = 0

      while ($i -ne $numberoftests)

      {

            $measurement = (Measure-Command {Resolve-DnsName www.bing.com -Server $DomainController.name –Type A}).TotalSeconds

            $totalmeasurement += $measurement

            $i += 1

      }

      $totalmeasurement = $totalmeasurement / $numberoftests

      "Domain Controller: " + $DomainController.name + ", Response time: " + $totalmeasurement + " seconds"

}

 

Autres langues

Cet article est disponible dans d'autres langues.