If you're like most people, you don't give much thought to DNS (Domain Name Server) once you've entered the DNS IP addresses your ISP (Internet Service Provider) gave you into your Mac's network settings. Once your Mac can connect to the Internet, and you can browse your favorite sites, what more is there for you to do with DNS?
With namebench, a new tool from Google Code, you can run a series of bench tests on your DNS provider to see just how well the service is performing. Why is this important? Because when you're browsing the web, your Internet connection uses DNS to look up the IP (Internet Protocol) address of the web site you're trying to reach. How fast the lookup can be performed determines how soon your web browser can start downloading the web site. And it's not just a single web site that is looked up. For most web pages, there are quite a few URLs embedded in the web page that need to be looked up as well. Page elements from ads to pictures have URLs that use DNS to resolve where to retrieve the information.
Having a fast DNS helps ensures a quick response in your web browser.
Google Code namebench
Namebench is available from the Google Code web site. Once you download namebench to your Mac, you can configure a few namebench parameters and then start the testing.
When you launch namebench you'll be presented with a single window where you can configure a few options. While you can just accept the defaults, you'll get a bit better and more meaningful results by using the information below to customize the parameters to meet your own particular needs.
Nameservers: This field should be pre-populated with the IP address of the DNS service you use with your Mac. This is probably the DNS service provided by your ISP. You can add additional DNS IP addresses you want to include in the test by separating them with a comma.
Include global DNS providers (Google Public DNS, OpenDNS, UltraDNS, etc.): Placing a check mark here will allow the major DNS providers to be included in the test.
Include best available regional DNS services: Placing a check mark here will allow local DNS providers in your specific area to be automatically included in the list of DNS IPs to test.
Benchmark Data Source: This dropdown menu should list the browsers you have installed on your Mac. Select the browser you use most often. Namebench will use that browser's history file as a source for web site names to use for checking DNS services.
Benchmark Data Selection Mode: There are three modes to choose from:
- Weighted: This is the best choice for most individuals. Weighted eliminates duplicate web sites from the list of site names to be checked. It will use your browser's history as well as the Alexa list of the top 10,000 domains, based on popularity.
- Random: A random selection of host names from the selected data source. If your browser history isn't very extensive, this setting will use many duplicate host names to finish the testing. Duplicate names can weight the results either positively or negatively.
- Chunk: This method uses a randomly selected sequential chunk of host names from your browser's history.
Number of tests: This determines how many requests or tests will be performed for each DNS provider. A large number of tests will produce the most accurate results, but the larger the number, the longer it takes to finish the testing. Suggested sizes range from 125 to 200, but a quick test can be performed with as few as 10 and still return reasonable results.
Number of runs: This determines how many times the whole sequence of tests will be run. The default value of 1 is usually adequate for most uses. Selecting a value larger than 1 will only test how well your local DNS system caches data.
Starting the Test
Once you have finished configuring the namebench parameters, you can start the test by clicking the 'Start Benchmark' button.
The benchmark test can take from a few minutes to 30 minutes. When I ran namebench with the number of tests set at 10, it took about 5 minutes. During testing you should refrain from otherwise using your Mac.
Understanding Test Results
Once the test is completed, your web browser will display the results page, which will list the top three performing DNS servers, along with a list of DNS providers and how they compare to the DNS system you are currently using.
In my tests, Google's public DNS server always came back as failed, unable to return queries for some web sites I commonly view. I mention this just to show that although this tool was developed with help from Google, it appears not to be weighted in Google's favor.
Should You Change Your DNS Server?
That depends. If you're having problems with your current DNS provider, then yes, changing may be a good thing. You should, however, run the test over a few days and at different times to get an overall feel for which DNS will work best for you.
You should also be aware that just because a DNS is listed in the results doesn't mean it's a public DNS that anyone can use at any time. If it's listed in the results then it's currently open to public access, but it may become a closed server at some time in the future. If you decide to change your primary DNS provider, you may wish to leave the DNS IP assigned by your ISP as the secondary DNS IP address. That way if the primary DNS ever goes private, you will automatically fall back to your original DNS.