Namebench

Miscellaneous tools
Post Reply
Message
Author
User avatar
Monsie
Posts: 631
Joined: Thu 01 Dec 2011, 07:37
Location: Kamloops BC Canada

Namebench

#1 Post by Monsie »

Hi all,

Namebench is a utility made by some small start-up called Google :wink: Based on your location, Namebench finds the fastest domain name servers so that you can change your Internet connections settings to speed up your access overall.

Namebench has been around for awhile... more than a year. I learned about Namebench just recently when I was reviewing some "old" bookmarked articles that I'd made for later reading. I installed it on my Debian desktop and found that it worked very well... so I wondered about using it in Puppy. That's when I discovered Lobster's thread here and through some trial and error managed to test Namebench on Wary.

So here's the deal: You can download the latest source code from Google right here. The Linux based package is complete and does not need to be compiled. However, it does require Python to run. The readme file indicates:
Requirements:

* Python 2.4 - 2.6. If you are using Mac OS X or Linux, this is
built-in. Otherwise, visit http://www.python.org/
In my testing, I could not get Namebench to run with Python 2.6.4 as I kept getting a seg fault. So I tried it with a later version, Python 2.7.2 which I found in this thread over here and voila... it worked. That said, there are a couple of things to note: if you need Python 2.6.4 to run Scribus for example, then keep it and install Python 2.7.2 as well. The current version of Scribus will not run properly with Python 2.7.2 --it generates some errors when loading. Also, I found that for multiple versions of Python to co-exist on my system, I had to install the earliest version first, the most recent version last. Lastly, I also installed Python-tk as it allows Namebench to run with a gui... however at this point Namebench is not able to find Python-tk, so it defaults to the command line. I suspect that I have to figure out what directories Namebench is searching for Python-tk and move the package there in order to get the gui experience --I haven't got that far yet.

To run Namebench at the terminal:

Code: Select all

/path/to/namebench-1.3.1
./namebench.py
So far, in my tests I have found that Namebench takes between five and ten minutes to run... traffic and time of day would seem to be factors. Upon completion, Namebench generates a couple of reports in /tmp directory, so if you want to save the information, just move it to my-documents or similar location. Here is a screenshot of my latest test of Namebench.

Monsie
Attachments
namebench-results.jpg
(151.98 KiB) Downloaded 676 times
My [u]username[/u] is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#2 Post by musher0 »

Hello, monsie.

Congratulations for your research, this looks interesting. But before I try it, I would like to know how this is different from adding frequent addresses to my "hosts" file, or registering with opendns or a similar service, for example. Is "namebench" faster, more secure, than customizing your "hosts" file or using opendns?

Also you say that it takes 5-10 minutes to run? That is counter-productive, no?... Perhaps you meant "seconds"? I do not fully understand.

Best regards.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
Monsie
Posts: 631
Joined: Thu 01 Dec 2011, 07:37
Location: Kamloops BC Canada

Namebench

#3 Post by Monsie »

Hello Musher0,

I guess I could have been more clear. Namebench is a "search" utility. It is not meant to replace any existing ISP, nor do you have to register with anyone. Rather, it finds the fastest responding dns servers based on your location, so that you can fine tune your internet connection settings if you so choose. That said, it does take between five and ten minutes to run. However, in the process it pings 4515 servers initially...then it re-tests the top 410 servers... finally giving results for the top 11 dns servers as listed in its html report. (It also gives a full listing of all the dns servers it pinged in a separate spreadsheet).

I don't know that much about host files. My understanding is that one would use the host file(s) to resolve IP addresses when one is running a computer network --with servers and workstations-- rather than a simple home network or setup whereby Internet connection is all that one needs. But I guess one can also add frequently used websites to the host file to speed up access?

In my case, I changed my dns settings to the top two servers as reported by Namebench. To do this, I went to: Puppy Network Wizard --> eth0 --> Static IP and put in the new dns addresses. Another way to do this is to modify the resolv.conf file, but I found that this method was only session specific... once I re-booted, I reverted to my original dns settings. I don't know if this is a bug necessarily, or if it is in fact, by design --maybe somebody can shed some light on this.

Lastly, I want to say that I plan on using Namebench only two or three times in a year to check my Internet Connection settings, so I don't think five or ten minutes of my time is a waste here... or on an as-needed basis like when I recently experienced frequent dropped connections. In this particular case I had been using OpenDNS but I found out that my settings had reverted to the default dns servers provided by my ISP following a driver update to my wifi card on my notebook --go figure :roll: So it had nothing to do with OpenDNS. I have been using OpenDNS for over a year, and I was pleased with the speed and stability... but it turns out that there are at least a half dozen dns servers out there with better speed at the moment. Since Internet Services are a competitive market, I see this situation as fluid and subject to change, so in my mind it is a good idea to check on this once in a while.

Here is a report generated by Namebench that shows the top eleven dns servers based on my service and location. You can see how OpenDNS ranks on the list.

Monsie
Last edited by Monsie on Tue 24 Apr 2012, 04:33, edited 1 time in total.
My [u]username[/u] is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#4 Post by musher0 »

Hello, Monsie.

Ah, I see. Namebench is something you run once to find the nameservers closest to you, and then you copy the 2 top ones in your own DNS table.
i thought it was running all the time.

As to the host file, you may include in it URL addresses that you go to frequently, your web mail service, or the puppy forum, for example. It speeds up things a little, because the browser looks first in the hosts file for the Internet address. If the browser finds the proper Internet address in the hosts file, it uses this address -- and does not continue and go search the entire Internet for this address.

Thanks for your answer.

BFN.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
Monsie
Posts: 631
Joined: Thu 01 Dec 2011, 07:37
Location: Kamloops BC Canada

Namebench

#5 Post by Monsie »

Hi all,

Here's an update to let you know that I now have Namebench running with a gui. :D

It turns out that there were a few problems with python-tk. It was missing a couple of dependencies: tk8.5 and tcl8.5 which I found in this thread here. I also found that the _tkinter module was packaged in a different directory than usual --a directory for third party software for some reason. The standard location for the _tkinter module is listed here, for example (along with most --if not all-- modules in Python). So, I re-packaged python-tk and made a revised pet.

Note that it is still necessary to start Namebench at the command line... but then the gui loads from there, and it provides some additional control and options... as can be seen in my screenshot below.

To summarize, here's how to get Namebench running with the gui:

--download and extract Namebench to my-applications folder
--download and install python 2.7
--download and install tk8.5 and tcl 8.5
--download and install my revised pet, and you should be good to go...

Monsie
Attachments
python-tk-rev-2.7.2.pet
(17.3 KiB) Downloaded 565 times
namebench-gui.jpg
(179.69 KiB) Downloaded 625 times
My [u]username[/u] is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

Post Reply