NameBench: Ten Minutes to a 30% Boost in Network Speed


OK, so this question is just a little bit geeky for a cocktail party, but I’ll ask anyway: are you sure that you are using the right DNS servers?

For a couple of years I thought I was in the know by specifying Google’s public DNS servers, and They are fast and very reliable, but after a little research I found a pair of local (NYC) DNS servers hosted by my Time Warner, my ISP. They offered a noticeable improvement, but I kept the Google servers in spots three and four.

And then today I came across NameBench, Google’s open source DNS benchmark utility. It took about 2 minutes to download, and five minutes to run, and three minutes to update my DNS settings. (That comes to ten minutes right.)

Did I mention it’s FREEEE?

From the site:

Are you a power-user with 5 minutes to spare? Do you want a faster internet experience?

Try out namebench. It hunts down the fastest DNS servers available for your computer to use. namebench runs a fair and thorough benchmark using your web browser history, tcpdump output, or standardized datasets in order to provide an individualized recommendation. namebench is completely free and does not modify your system in any way. This project began as a 20% project at Google.

namebench runs on Mac OS X, Windows, and UNIX, and is available with a graphical user interface as well as a command-line interface.

So take ten minutes to give it a try, and post your results below. Good luck.



And the output of the test included this summary and the following performance graphs:




WordPress Error: Nothing found for Wp-admin Post PHP

Recently I was working on a blog post which, for some reason, failed to save. Instead, it generated the following error:
Nothing found for Wp-admin Post Php

The post was longer than average, so my first thoughts went to a PHP memory issue… but that rabbit hole did not bear fruit. After much searching, I narrowed the error to an Apache security module called mod_security. At first it did not make sense to me that a failure to post could be related to a security issue as shorter posts, and long test posts saved just fine. What I found out was that my problem post contained enough SQL keywords (such as SELECT, FROM, WHERE, JOIN, etc) to cause concern to a SQL injection detection algorithm. (as it was explained to me by my Liquidweb guy)

The problem was quickly fixed by adding my web site domain to a mod_security white list using the following syntax:

SecRule SERVER_NAME “” phase:1,nolog,allow,ctl:ruleEngine=off

By the way, if you are looking for a great hosting company, I can’t say enough good things about Liquidweb. Their pricing is very reasonable with shared hosting starting at around $15/month, and dedicated at around $200. What really differentiates Liquidweb is their service. For me it’s like having a part time employee looking after my web server. I have always received an answer from their 24/7 telephone tech support, and have found them to be very knowledgeable, and eager to solve my problems.

A Geek Tip from the Windows Command Line

Today’s tip is for the true geek who enjoys spending time in the command window. A few tips ago, we discussed the virtues of "pathping" to analyze the path between two IP addresses. But what if you want to make sure a block of IPs are responding? You could ping them all manually, or you could use the following little beauty:

echo off & for /l %n IN (1,1,254) do ping 192.168.1.%n

Let’s dissect the command. The first three elements (echo off &) are actually the first of two commands and are optional. It simply makes the output a little neater. The for loop has the following structure: FOR %variable IN (set) DO command The/l parameter specifies the type of number set used by the loop (in this case, a series of numbers defined by the contents of the parenthesis (1,1,254)). What this tells the for loop is to number a series from 1, incremented by 1 and through number 254. The ping command is the action taken by the for loop. The for loop substitutes a series of number variables as the last part of the IP address through each loop.

So that’s all there is to it. If you find this tip useful, you are hopefully considering making a batch file out of it. If so, remember to use double percent signs on the variables.