Top Banner
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 NameBenc h, DNS Benc hmark 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
11

How to Find the Best DNS Server

Nov 24, 2015

Download

Documents

Botár Csaba

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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"