how to find the best dns server
DESCRIPTION
DNS servers are the most trusted component of your web browsing experience but few people understand how they work or how their security vulnerabilities can cause you problems.TRANSCRIPT
-
5/12/2014 How to Find the Best DNS Server
http://www.techsupportalert.com/content/how-find-best-dns-server.htm 1/16
How to Find the Best DNS Server
Updated 14. June 2012 - 13:46 by Remah
In a Hurry?
Go straight to the Quick Selection Guide for short detailed summaries of
each product
Go straight to the Change Log to see what's new since the major update
in June 2011
Introduction
DNS servers are the most trusted component of your web browsing experience
but few people understand how they work or how their security vulnerabilities
can cause you problems. I recommend that you read both What DNS Servers
Do and How to Change DNS Server before you change the DNS servers your
system relies upon.
Three free utilities can help you to find the best DNS servers for your
system.These benchmarking programs use their databases of DNS servers to
test those that will give you the best improvement. The best performance is
likely to be from from a mixture of DNS servers that are close to your location
and a global DNS server that has a large database. These programs are
portable (run without installation), use similar methods and provide similar
results. Their reporting is very different so I recommend that you try both
NameBench and DNS Benchmark.
Google NameBench is easy to use and comprehensive but doesn't preview
the DNS servers being benchmarked. It is compatible with Windows, Mac
OS X, and UNIX.
Gibson Research Corporation DNS Benchmark is the program I prefer. It is
a little more complex but provides a lot of documentation and help for each
step. It does preview the servers that will be tested before you run the
actual benchmark. It is a Windows program that also runs in Windows
emulation (Wine) for Mac OS X and Linux.
I recommend DNS Benchmark for all users outside of North America. It
clearly identifies one problem that NameBench does not. My primary DNS
server had slow response times for major dot com sites which usually
have their home in the United States.
DNS Jumper is the simplest with very limited testing. It provides a quick
test of public DNS servers, allows you to customize the DNS server list,
and can change your configuration. It runs under Windows.
There are two sections in this how to guide.
1. How to configure the testing software
2. How to run the tests using NameBench, DNS Benchmark or DNS Jumper.
1. How to configure the test software
Installing the software
These programs run directly from the download and have no install procedure
so they don't alter the Windows registry or add shortcuts to the desktop or
menu.
How to copy the files to the folder you want to run them from
-
5/12/2014 How to Find the Best DNS Server
http://www.techsupportalert.com/content/how-find-best-dns-server.htm 2/16
How to copy the files to the folder you want to run them from
They also won't create their own folders to install to so if you want that you
will have to do it yourself.
namebench-1.3.1-Windows.exe and DNSJumper.zip should be unzipped to
the folder you desire.
DNSBench.exe should be copied to the folder you desire.
Download additional files as required
Namebench command line version requires Python 2.5 to 2.7 to be installed.
UNIX and Mac OS X usually have it so it is mainly Windows users who might
have to install it.
Advanced configuration
The average user can skip the rest of this section and go straight to testing.
Editing the configuration files before running the first test
The first test will be the most accurate because it is more likely that the
tested domains will not be cached. Once the test has run then any further
requests for the same domain are likely to be cached. Therefore some
advanced users might want to edit the configuration files before running the
first test.
Namebench has three configuration files in a subfolder (\namebench\config)
of the folder you have unzipped it to:
namebench.cfg is the main configuration file and probably the only one
that you will edit. I edited it to increase number of servers tested and
added more global DNS servers.
It contains the following:
Settings, most of which can be overridden if you use the Python
command line.
Global DNS servers. The default is to test them.
Regional DNS servers. The default is to test them.
hostname_reference.cfg contains two lists of websites.
censored sites which are not tested unless specified
sanity checks sites which are used to check that the returned IP is
correct for the DNS name.
These are tested everytime unless you have a version of NameBench
which includes the option to turn this off, ie download_latest = 1
becomes download_latest=0.
data_sources.cfg points to the sources of the website test list:
List files provided with NameBench
Browser databases
DNS Benchmark has two configuration lists which do not exist when you first
run DNS Benchmark. I created both lists from those tested in NameBench so
that I can compare the results of the two programs.
I opened the NameBench .csv results in Excel, summarized the list of sites and
DNS hosts using two pivot reports (there are other ways to do it), then copied
the lists into the respective files:
DNSBench.ini contains the list of DNS servers to be tested. It is not
created until you decide to add or remove servers using the menu or until
you have run the test to create your own customized list of servers. You
can create many .ini files with different names and add or remove them
from the test list anytime that you like.
domains.txt contains the list of websites to be used for the tests. The
default is the top 50 Alexa sites from 2009, there is also a list of 100 top
Alexa sites. Note that both lists are uncensored so by testing these sites
there is potential for embarrassment or worse. Both files are available at
Resource Files for Advanced Benchmarking.
Once edited you have to run DNS Benchmark with the command line
option:
-
5/12/2014 How to Find the Best DNS Server
http://www.techsupportalert.com/content/how-find-best-dns-server.htm 3/16
option:
dnsbench.exe /domains domains.txt
DNS Jumper has one configuration file:
DNSJumper.ini contains the DNS server list, a few program options, and the
text for each language.
To add another DNS server type append it to the list in the format
-
5/12/2014 How to Find the Best DNS Server
http://www.techsupportalert.com/content/how-find-best-dns-server.htm 4/16
usually only use the primary DNS server because it removes duplicated/backup/replicated
servers so, for example, Google DNS will only count as one DNS server although Google has
many servers and several IP addresses.
Include best available regional DNS services should be checkmarked because these will
usually be your fastest DNS servers.
Include censorship checks will include websites that are often censored because of
political views, violence and hatred, gambling, etc.
Upload and share your anonymized results should be checkmarked if you want an easy
way to share your results over the Internet. I expect that in the future NameBench will
provide reporting from this database without running a benchmark.
Health Check Performance should be set to Fast (to query 40 DNS servers at a time)
unless you have poor connection in which case set it to Slow (to query 10 DNS servers at
a time).
Number of queries defaults to 250 web sites for each of the 11 DNS servers. You can
speed up the tests by changing it to 50 which is the default for DNS Benchmark.
Query Data Source determines where NameBench gets its list of domain names to test. As
well as five test scenarios , NameBench can extract the information from Camino, Chrome,
Chromium, Epiphany, Firefox, Flock, Galeon, Icab, Internet Explorer, Konqueror, Midori,
Omniweb, Opera, Safari, Seamonkey, Squid and Sunrise.
2. Run the benchmark
First, NameBench checks the connection quality and makes adjustments for the connection
condition. That is why you should not have other Internet activity while running the tests.
NameBench then selects the fastest to benchmark:
checks the DNS servers are available to the test system
performs TTL tests
checks for cache sharing with replicated servers and then removes the slower DNS replicas
selects the DNS servers for benchmarking
The DNS queries are sent to the selected DNS servers.
The results are saved in html and csv formats.
Finally, the html results are displayed in the browser chosen for the test.
3. View the benchmark results.
Click on the images in this review to see the results of a full test that I ran
The primary report is a table.
NameBench presents a recommended configuration for three DNS servers.
The current primary DNS server is highlighted in pale yellow.
In this case, a 5.1% improvement would not be enough to change without doing further
tests to confirm that the improvement is consistent. The red bars indicate timeouts for the
proposed server. In this case, two queries timed out at 3.5 seconds so that is not good
and another reason to test again.
Ignore that "www.paypal.com is hijacked hijacked" because this is a known bug.
Replica DNS servers are indicated so you know which servers have backups available.
-
5/12/2014 How to Find the Best DNS Server
http://www.techsupportalert.com/content/how-find-best-dns-server.htm 5/16
There are two types of graph presented. The first are bar graphs of the average and fastest
response times. Note that each graph uses a different scale.
Look at the second graph first because the fastest response time shows you the best that
you can get. This graph shows that network distance, which is similar to geographical
distance, is the main driver for response times. So the response time is roughly proportional
to the distance from my home. The six NZ DNS servers are grouped first then one
Australian DNS server then the four global DNS servers mainly located in the USA.
The averages response time look quite different because the second driver is the size of
the name cache. Global DNS servers perform much better because they have larger name
databases. OpenDNS, Google and UltraDNS are ranked fifth to seventh but still remain 50%
slower than the best regional DNS server.
-
5/12/2014 How to Find the Best DNS Server
http://www.techsupportalert.com/content/how-find-best-dns-server.htm 6/16
Then there are line graphs of cumulative response times.
The distribution graphs show what percentage of queries are answered in what period of
time.
The first graph is for the first 200 milliseconds ie 0.2 seconds.
The second graph continues to the 3.5 second default for the timeout.
Although it is available when you first view the results, when you go to the website it will
not be there.
This graph shows how the global providers though slower at the start are much more
consistent with fewer timeouts. By a quarter of a second and 30% awaiting a response
they're competitive. By a third of a second and 10% awaiting a response they're performing
better.
It is the long tail for the slower response times that will be noticeable when you are
browsing. So if you are prepared to live with slower average response times that you don't
notice then you can stop the really slow and annoying response times by using a global
DNS service.
The online results include sample index results for Wikipedia.com and Google.com instead of
presenting the second response distribution graph.
Finally, the benchmark parameters are listed.
Testing with DNS Benchmark
-
5/12/2014 How to Find the Best DNS Server
http://www.techsupportalert.com/content/how-find-best-dns-server.htm 7/16
1. Start DNS Benchmark
To view the DNS servers click on the Nameservers tab highlighted above. You will have to wait
about 10 seconds for the list of servers to be loaded.
Your system DNS servers will appear first in the list. The remaining servers are sourced from
DNS Benchmark's list of global servers. The advantage of this approach is that you have the
opportunity to refine the server list before testing.
At this point you can add or remove servers by using either of two menus:
Click on the Add/Remove button to display the first menu shown below.
Click on the system icon at the top left to get the system menu which is a superset of the
Add/Remove menu.
-
5/12/2014 How to Find the Best DNS Server
http://www.techsupportalert.com/content/how-find-best-dns-server.htm 8/16
.
The servers can be added or removed individually or in three groups:
Your system DNS servers
The default global servers
Your own .ini file.
You can remove all servers to clear the list and start again. Once complete you can save your
list to an .ini file.
There are two further options that you might consider to prune the list:
Remove dead servers that are not responding. This is well worth doing.
Remove redirecting DNS servers. This might remove DNS servers that you want to avoid
but it will also remove OpenDNS and other filtering DNS servers.
The final option is to build the custom server list without running the global benchmark. If you
want to save time then do this and skip to Create the regional DNS server list.
2. Run the global server DNS benchmark
As well as clicking on "Run Benchmark", you can also click on the Gibson Research Corporation
(GRC) logo to start or stop the benchmark.
-
5/12/2014 How to Find the Best DNS Server
http://www.techsupportalert.com/content/how-find-best-dns-server.htm 9/16
At first glance the results point to a much faster DNS server. But the decision is not that clear
cut if you read on below:
Server IP address is in the first column
Server status is in the second column.
The first two servers are
the system DNS servers
as indicated by the solid
green circle.
The other servers are
not the system
DNS servers because
they have hollow circles.
The colour of the circle
indicates the quality of
the connection:
Green = good
Orange = redirecting or hijacking DNS servers
Red = the server is not responding ie is dead. I remove dead servers so there are no
red circles in the example results.
OpenDNS also has a blue circle around the server status. This indicates that IP
addresses reserved for private networks are being blocked. There are four ranges of
addresses so in this case three of the four are being blocked.
Green = both IPv4 and IPv6 reserved private addresses are being blocked
Blue = either IPv4 or IPv6 but not both reserved private addresses are being blocked
The organization owning the DNS server is shown at the right.
The main results display the results of cached queries. DNS Benchmark provides two particularly
useful test results if you check the Show Uncached checkbox:
Uncached queries (green) where the DNS server cache is bypassed.
DotCom queries (blue) for major global websites (dotcoms) that are mainly located in the
United States.
In the example below my primary DNS server has unacceptably slow response for major global
websites (DotComs). This problem was not visible in the NameBench results.
The server that is reported to be fastest is one of my ISP's DNS servers. I should probably
change to it because it is faster and has no problems with DotComs unlike my primary DNS
server. However it does have a problem with lost queries as indicated by the red bar which
displays over the server IP address on the left. It is not a big problem but I would test again to
see if it is a regular problem.
3. Create the regional DNS server list
The Custom Namerserver List is a list of your regional DNS servers that are likely to give you
the best service. DNS Benchmark goes through its database of nearly 5,000 DNS servers to find
those that are likely to perform best for you. It creates the list and then you can run the
benchmark.
While it is creating the list you can see the total number of servers including the following:
-
5/12/2014 How to Find the Best DNS Server
http://www.techsupportalert.com/content/how-find-best-dns-server.htm 10/16
Resolved = those you can use
Refused = those that reject your queries maybe because you are in a region that they
don't service
No reply = dead servers
4. Run the regional DNS server benchmark
The regional DNS server benchmark runs the same as the default server benchmark. So the
results apply just the same.
5. View the results
DNS Benchmark displays the results as it works so you will
quickly be able to see which DNS servers are performing the
best. I've drawn a few conclusions from the final results
displayed at right. Note that DNS Benchmark allowed me to
save these results as an image file because a screenshot
wouldn't show enough servers.
By default DNS Benchmark gives you a better comparison
of more servers than NameBench which has to be
configured to provide results for more than 10 servers.
Servers in my country are the fastest. Like NameBench,
DNS Benchmark illustrates the same relationship.
The results illustrate that the primary driver for DNS query
time is the delay (latency) due to the distance between
systems on the Internet. This network distance is roughly
the same as geographical distance. You will notice the
same sort of delay If you ever make a phone call to the
other side of the world.
Query response time = network latency + server processing
time
The speed of the DNS server itself is far less important but
does make a difference where several DNS servers are located in the same region.
You can also see that DNS servers with lost queries tend to perform worse. The lost
queries are indicated by the red bars overlaying the DNS server IP address in the left hand
column. Seven of the eight New Zealand servers with lost queries are the worst performing
in that group.This is likely to be the same in other countries
Remember that DNS Benchmark has several tabs to view the various results:
Nameservers shows you:
-
5/12/2014 How to Find the Best DNS Server
http://www.techsupportalert.com/content/how-find-best-dns-server.htm 11/16
Nameservers shows you:
Server name
Server owner
Server status
Server response times
Cached response times are displayed by default
Uncached response times are displayed by checking the box
Tabular Data shows you the numeric results in a small table for each server. The
formatting is text-based so you can export it to any editor.
Conclusions provides you with a comprehensive list of conclusions and recommendations.
These are clearly explained to guide you. In the screenshot below, I have only shown the
start of the first of seven conclusions. It has a positive green tick so there is no action
required. Where DNS Benchmark displays a red cross you will be advised what you should
do to improve your configuration.
6. After completing the benchmark:
The DNS server list will be saved in the default.ini file. As discussed above, you can amend the
list or detete it and start again.
To save the results go to DNS Benchmark's System Menu and select 'Export last results to CSV
file'. DNS Benchmark also provides for saving any of the results pages either as an image file
(.png or .bmp) or a formatted text file (.rtf).
Testing with DNS Jumper
DNS Jumper is relatively simple but I do not rate it highly so I''m only showing the main window
for your information.
1. Select your network card.
2. Add or remove any DNS servers to the DNS Jumper database using the + or - buttons.
3. Find the "Fastest DNS"
The fastest will appear in the "Manual DNS Servers" list.
Response time is displayed in milliseconds.
If the DNS server is invalid or unavailable thenthe result will be "Host is offline"
You can also flush your system's DNS cache but the flush is not as effective as using the
Windows/DOS command "ipconfig /dnsflush"