Skip to Content

2 Ways to test DNS Speed

DNS is a system by which a browser or other software converts a domain name to a IP4 or IP6 address. Each time we access a website the browser needs to convert the domain name to a IP4/IP6 address using a DNS server.

The DNS server configured on our computer could be automatically selected by our service provider or hard-coded. A fast DNS server is one of the essential elements to a faster browsing experience.

Test DNS Speed with nslookup command

The best way to test DNS speed is using nslookup command. It performs a name resolution against a DNS server. This command is available on Linux and Windows systems.  It can display the time it takes for the name resolution with Windows’ powershell.

powershell "Measure-Command { nslookup }"

Now, this outputs on my system.

Non-authoritative answer:
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 31
Ticks : 317898
TotalDays : 3,679375E-07
TotalHours : 8,8305E-06
TotalMinutes : 0,00052983
TotalSeconds : 0,0317898
TotalMilliseconds : 31,7898

If we need to specify the DNS server like, we can use this command.

powershell "Measure-Command { nslookup }"

On Linux, we can run this command time nslookup get the DNS resolution time.

time nslookup

Non-authoritative answer:
0.00s user 0.03s system 5% cpu 0.571 total

Test DNS Speed with Dig command

The command dig is a tool for querying DNS nameservers for information about host addresses, mail exchanges, nameservers, and related information.

This tool can be used from any Linux (Unix) or Macintosh OS X operating system. The most typical use of dig is to simply query a single host.

To use a specific DNS server for the query, use the @ option. For example, the following dig command performs a DNS lookup on the domain using an OpenDNS server (which has IP address

dig @

By default, dig displays the A record for a domain. To look up a different DNS record, add it to the end of the command.

For example, to look up the MX (mail exchanger) record for the domain, type the following command:

dig MX

Dig displays a QUESTION SECTION (the request) and an ANSWER SECTION (what the DNS server sends in response to the request).

Query time  in Answer section shows how long it took to get the DNS response back from the server, which is listed on the next line.

In this case, we used the default options for dig, which simply looks up the A record for a domain. From this, we can see that currently points to IP address

user@localhost:~$ dig
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46803
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

; IN A


;; Query time: 12 msec
;; WHEN: Thu Jan 9 16:07:09 2014
;; MSG SIZE rcvd: 45

$ dig @ | grep “Query time:”
;; Query time: 15 msec
$ dig @ | grep “Query time:”
;; Query time: 289 msec


How to use nslookup?

The nslookup command is a network diagnostic tool that allows users to query the Domain Name System (DNS) for information about internet hosts. The nslookup command can be used to perform the following tasks:

  • Resolve domain names to IP addresses
  • Retrieve MX records for a domain
  • Retrieve the name servers for a domain


Nslookup is a command-line tool that is available on most operating systems.

To use nslookup, open a command prompt and type nslookup followed by the domain name you want to look up.

For example, to find the IP address for, you would type: nslookup

The tool will then query the DNS server to retrieve that domain’s IP address, along with any other relevant information about the domain. This can be very useful for troubleshooting networking issues or identifying potentially malicious activity on your network.

Additionally, you can use nslookup to find the name servers for a domain, or to retrieve any other information that is stored in the DNS database.

Troubleshooting in Linux: Why is the ls Command taking long time? - howtouselinux

Thursday 7th of December 2023

[…] might be due to DNS resolution. If your system is trying to resolve user and group names and your DNS server is slow or unresponsive, this can slow down ls. You can use ls -n instead, which shows user and group IDs […]

Comments are closed.