Name Servers and Internet Speeds
One of the most common employee complaints is "The Internet is too slow, how can I do my work with such a slow Internet?" There are a multitude of reasons why your Internet might be too slow: network congestion, misconfigured switches and routers, inadequate bandwidth, slow servers...your service is as fast as the slowest link in the chain between you and the sites you're visiting.
Today we're going to look at one common reason for slow Internet performance: slow Domain Name Service (DNS) servers. You will need to know what DNS servers you are already using, and then you must to be able to change your configuration to use different servers. (Or know who to call to do it.) And of course, you need to do this at a time when it's not going to cause disruptions for other users.
The World Wide Web is powered by DNS servers, which are also called name servers. DNS servers convert numerical Internet protocol addresses to names. This is why we can visit SmallBusinessComputing.com instead of http://18.104.22.168.
Figure1: The Java test reports your results in both a graphical and text version.
(Click for larger image).
Even if you're not bothered by the idea of numerical addresses -- after all, we've been using telephone numbers and complex numerical mailing and shipping addresses our entire lives -- numerical website addresses are not always the same. They change for behind-the-scenes network administration reasons such as moving or adding servers, moving datacenters, or re-organizing networks.
So all we need to remember are names and not have to worry about address changes like we do with snail-mail. A nice bonus is domain names are valuable tools in your marketing toolkit: for example, domains like YourCompanyName.com and email addresses like sales@YourCompanyName.com are memorable and boost your branding.
Broadly speaking, there are two types of name servers: authoritative servers, and caching resolvers. We want to find the best-performing caching resolvers. Authoritative DNS servers are used only by people running public servers, like mail and Web servers. You can think of these as the original, authoritative address books so that users can find their sites.
Caching resolvers are freely-distributed copies of these original address books, because having multiple copies everywhere is a lot faster and more reliable than relying only on the original authoritative name servers. Caching resolvers update themselves automatically when the authoritative records change. It's an efficient system that powers all online services -- email, Web surfing, online shopping, streaming media, everything.
There are many times more caching resolvers than authoritative DNS servers. The Windows and Mac OS X operating systems have built-in caching resolvers, so when you use a Mac or a Windows PC to Web-surf you are using a caching resolver. Your Internet service provider maintains its own caching resolvers, and these are the name servers that most people use when they configure their Internet accounts.
Figure 2: Part of a comprehensive DNSsy report for testing name servers.
(Click for larger image).
DNS is so important that we are advised to have at least two configured in case one fails. Even better is to use three at three different and geographically-separated providers, and that is what we will do.
Internet Speed Test
Let's start with a simple Internet speed test, and then you can compare before and after. A Web search on "Internet speed test" will find multiple websites for running a quick test on your Internet connection, like the DSLReports speed test page. This has tests for DSL, cable, fiber and mobile devices. It shouldn't take more than a minute or two. Figure 1 shows the results of the Java tester.
This test reports your upload and your download speeds in kilobits per second. If you're like me you relate to kilobytes better, so divide by eight to get your results in kilobytes, because there are eight bits in one byte. My results, from Figure 1, are 1,440,000 bits per second downstream and 638,000 upstream. Other ways to express these values are:
- 1440 kbps/638 kbps, thousands of kilobits per second
- 1.44 Mbps/.64 Mbps, megabits per second
- 180,000 MBps/85,000 MBps, megabytes per second
- 180k MBps/85k MBps, thousands of megabytes per second
Service providers like to measure in bits because the numbers look bigger, and to be confusing on purpose. Even when they're not trying to be confusing it's easy to make mistakes with the abbreviations. Wikipedia's data rate units lists all the correct abbreviations and what they mean.
Faster download than upload speeds are typical of lower-cost DSL, cable and Fiber Internet accounts. If you want the same speeds both ways, it always costs more. You'll probably want that if you're running your own servers on your premises, which is a fun topic for another day.
Run several tests at different times during the day, record the results, and save them for comparison later.
Testing Name Servers
Now let's see what your name servers are doing. You might be using your Internet service provider's name servers, which is common, your own, or some other third-party name servers. You need to know the domain name of whatever name servers you are using.
There are a number of free websites to run tests, which you can find with a Web search for "dns benchmarks." This example is from DNSsy.com. Enter your name server domain name in the Test and Report form, and give it a few minutes. You'll get an easy-to-read comprehensive report like in Figure 2, which analyzes yahoo.com.
Figure 3: An example Namebench configuration.
(Click for larger image).
It's not uncommon to find a number of problems, even severe ones. Misconfigured name servers are legion. Now let's find out how to find the best-performing name servers.
Find the Best Name Servers with Namebench
Namebench is a free, open-source application created by Google that runs on Mac OS X, Linux and Windows. It tests the name servers you currently use, and finds the fastest public caching resolvers available for you.
Figure 3 shows an example configuration. (With a fake name for my ISP.) It checks global and regional DNS providers, and I elected to include censorship checks, and to upload and share my results.
In the Query Data Source drop-down you can have it use the sites in your browser history, or use Alexa's top 2,000 sites. It takes a few minutes to run. When it's finished it will show performance graphs and a lot of other information. The important bit is a recommendation for three different name servers, like this:
Recommended configuration (fastest + nearest)
Primary Server 22.214.171.124 OpenDNS
Secondary Server 126.96.36.199 DSLOnly PDX US
Tertiary Server 188.8.131.52 Sawnet-2 US
Copy the recommended addresses into your name server configuration, replacing your old ones, and give them a try. If you don't like the results it's easy to change back. Try running Namebench and Internet speed tests at different times and compare the results. I can't promise unicorns and puppies, but at worst you should have greater reliability, and at best peppier Internet service.
Carla Schroder is the author of The Book of Audacity, Linux Cookbook, Linux Networking Cookbook, and hundreds of Linux how-to articles. She's the former managing editor of Linux Planet and Linux Today. Small Business Computing is on Facebook. Join us on Facebook and interact with the site's editors, post messages, share your small business challenges and successes, discuss technology and suggest topics you'd like covered on Small Business Computing.
Do you have a comment or question about this article or other small business topics in general? Speak out in the SmallBusinessComputing.com Forums. Join the discussion today!
Small Business Computing is on Facebook. Join us on Facebook and interact with the site's editors, post messages, share your small business challenges and successes, discuss technology and suggest topics you'd like covered on Small Business Computing.