Using NameBench command line - janinge/namebench GitHub Wiki
First, download the namebench source code file and extract it. You will also need Python 2.5 - 2.7 installed. Mac OS X and most UNIX distributions come with this already. Assuming all of this, it's normally just as easy as typing:
./namebench.py
If namebench launches a graphical window (because you have Tk), you can use the -x option to force it to command-line mode.
namebench will test the nameservers your machine is currently using, plus the popular global DNS services, and the best 4-6 additional name servers that it can find for you. It will output some text-graphs and URL's for more a more detailed performance analysis of each nameserver.
If you want to specify an additional set of name services, simply add the IP to the command-line, or edit namebench.cfg:
./namebench.py 10.0.0.1 192.168.0.1
Options: -h, --help show this help message and exit -r RUN_COUNT, --runs=RUN_COUNT Number of test runs to perform on each nameserver. -z CONFIG, --config=CONFIG Config file to use. -o OUTPUT_FILE, --output=OUTPUT_FILE Filename to write output to -t TEMPLATE, --template=TEMPLATE Template to use for output generation (ascii, html, resolv.conf) -c CSV_FILE, --csv_output=CSV_FILE Filename to write query details to (CSV) -j HEALTH_THREAD_COUNT, --health_threads=HEALTH_THREAD_COUNT # of health check threads to use -J BENCHMARK_THREAD_COUNT, --benchmark_threads=BENCHMARK_THREAD_COUNT # of benchmark threads to use -P PING_TIMEOUT, --ping_timeout=PING_TIMEOUT # of seconds ping requests timeout in. -y TIMEOUT, --timeout=TIMEOUT # of seconds general requests timeout in. -Y HEALTH_TIMEOUT, --health_timeout=HEALTH_TIMEOUT health check timeout (in seconds) -i INPUT_SOURCE, --input=INPUT_SOURCE Import hostnames from an filename or application (alexa, cachehit, cachemiss, cachemix, camino, chrome, chromium, epiphany, firefox, flock, galeon, icab, internet_explorer, konqueror, midori, omniweb, opera, safari, seamonkey, squid, sunrise) -I, --invalidate_cache Force health cache to be invalidated -q QUERY_COUNT, --query_count=QUERY_COUNT Number of queries per run. -m SELECT_MODE, --select_mode=SELECT_MODE Selection algorithm to use (weighted, random, chunk) -s NUM_SERVERS, --num_servers=NUM_SERVERS Number of nameservers to include in test -S, --system_only Only test current system nameservers. -w, --open_webbrowser Opens the final report in your browser -u, --upload_results Upload anonymized results to SITE_URL (False) -U SITE_URL, --site_url=SITE_URL URL to upload results to (http://namebench.appspot.com/) -H, --hide_results Upload results, but keep them hidden from indexes. -x, --no_gui Disable GUI -C, --enable-censorship-checks Enable censorship checks -6, --ipv6_only Only include IPv6 name servers -O, --only Only test nameservers passed as arguments
Most everything about namebench can be tweaked: See the config/ subdirectory for more information.