~ubuntu-branches/ubuntu/precise/namebench/precise

« back to all changes in this revision

Viewing changes to README.txt

  • Committer: Bazaar Package Importer
  • Author(s): Miguel Landaeta
  • Date: 2010-06-24 09:23:04 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20100624092304-xrkglqsrod0cuhk9
Tags: 1.3.1+dfsg-1
* New upstream release.
* Updated watch file.
* Switched source package format to 3.0 (quilt).
* Dropped unneeded version for dependence on python (>= 2.5).
* Added necessary version for dependence on python-dnspython (>= 1.8.0).
* Updated manpage.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
An experiment in benchmarking DNS name services. This tool is designed to help
2
 
you as a user determine what name services are the best to use for an
3
 
individual machine.
 
1
Are you a power-user with 5 minutes to spare? Do you want a faster internet
 
2
experience?
 
3
 
 
4
Try out namebench. It hunts down the fastest DNS servers available for your
 
5
computer to use. namebench runs a fair and thorough benchmark using your web
 
6
browser history, tcpdump output, or standardized datasets in order to
 
7
provide an individualized recommendation. namebench is completely free and
 
8
does not modify your system in any way. This project began as a 20% project
 
9
at Google.
 
10
 
 
11
namebench runs on Mac OS X, Windows, and UNIX, and is available with a
 
12
graphical user interface as well as a command-line interface. 
4
13
 
5
14
Requirements:
6
15
 
7
 
  * Python 2.4 - 2.6. If you are using Mac OS X or UNIX, this is
 
16
  * Python 2.4 - 2.6. If you are using Mac OS X or Linux, this is
8
17
    built-in. Otherwise, visit http://www.python.org/
9
18
 
 
19
--[ quick use guide ]---------------------------------------------------------
 
20
 
 
21
namebench comes with two interfaces: a simple graphical interface, and a
 
22
more advanced command-line interface. If you have downloaded the versions
 
23
for Mac OS X and Windows, you will get the graphical interface by default.
 
24
 
10
25
Most people will simply want to run this software with no arguments:
11
26
 
12
27
  ./namebench.py
13
28
 
14
 
If you want to install this tool permanently, you can use:
15
 
 
16
 
  sudo python setup.py install
17
 
 
18
 
namebench will test the nameservers your machine is currently using, plus
19
 
the popular global DNS services, and the best 4-6 additional name servers
20
 
that it can find for you. It will output some text-graphs and URL's for more
21
 
a more detailed performance analysis of each nameserver.
 
29
On UNIX, if you have python-tk installed, a graphical interface will pop up.
 
30
If you would like to force use of the command-line, use -x:
 
31
 
 
32
  ./namebench.py -x
22
33
 
23
34
If you want to specify an additional set of name services, simply add the IP
24
35
to the command-line, or edit namebench.cfg:
29
40
 
30
41
namebench includes some wonderful third party software:
31
42
 
32
 
 * dnspython 1.7.1 (http://www.dnspython.org/)
 
43
 * dnspython 1.8.0 (http://www.dnspython.org/)
 
44
 * httplib2 0.6.0 (http://code.google.com/p/httplib2/)
33
45
 * graphy 1.0 (http://graphy.googlecode.com/)
34
46
 * jinja2 2.2.1 (http://jinja.pocoo.org/2/)
35
47
 * python 2.5 pkg_resources (http://www.python.org/) 
 
48
 * simplejson 2.1.1 (http://code.google.com/p/simplejson/)
36
49
 * Crystal SVG icons (http://www.everaldo.com/crystal/)
37
50
 
38
51
For licensing information, see the LICENSE file within the appropriate
50
63
                        Config file to use.
51
64
  -o OUTPUT_FILE, --output=OUTPUT_FILE
52
65
                        Filename to write output to
53
 
  -f OUTPUT_FORMAT, --format=OUTPUT_FORMAT
54
 
                        Output format for file (ascii, html)
 
66
  -t TEMPLATE, --template=TEMPLATE
 
67
                        Template to use for output generation (ascii, html,
 
68
                        resolv.conf)
55
69
  -c CSV_FILE, --csv_output=CSV_FILE
56
 
                        Filename to write CSV output to
57
 
  -j THREAD_COUNT, --threads=THREAD_COUNT
58
 
                        # of threads to use
 
70
                        Filename to write query details to (CSV)
 
71
  -j HEALTH_THREAD_COUNT, --health_threads=HEALTH_THREAD_COUNT
 
72
                        # of health check threads to use
 
73
  -J BENCHMARK_THREAD_COUNT, --benchmark_threads=BENCHMARK_THREAD_COUNT
 
74
                        # of benchmark threads to use
 
75
  -P PING_TIMEOUT, --ping_timeout=PING_TIMEOUT
 
76
                        # of seconds ping requests timeout in.
59
77
  -y TIMEOUT, --timeout=TIMEOUT
60
78
                        # of seconds general requests timeout in.
61
79
  -Y HEALTH_TIMEOUT, --health_timeout=HEALTH_TIMEOUT
62
80
                        health check timeout (in seconds)
63
 
  -d DATA_FILE, --datafile=DATA_FILE
64
 
                        File containing a list of domain names to query.
65
 
  -i IMPORT_FILE, --import=IMPORT_FILE
66
 
                        Import history from an external application (chrome,
67
 
                        chromium, epiphany, firefox, internet_explorer, opera,
68
 
                        safari, squid)
 
81
  -i INPUT_SOURCE, --input=INPUT_SOURCE
 
82
                        Import hostnames from an filename or application
 
83
                        (alexa, cachehit, cachemiss, cachemix, camino, chrome,
 
84
                        chromium, epiphany, firefox, flock, galeon, icab,
 
85
                        internet_explorer, konqueror, midori, omniweb, opera,
 
86
                        safari, seamonkey, squid, sunrise)
69
87
  -I, --invalidate_cache
70
88
                        Force health cache to be invalidated
71
 
  -t TEST_COUNT, --tests=TEST_COUNT
 
89
  -q QUERY_COUNT, --query_count=QUERY_COUNT
72
90
                        Number of queries per run.
73
91
  -m SELECT_MODE, --select_mode=SELECT_MODE
74
92
                        Selection algorithm to use (weighted, random, chunk)
75
93
  -s NUM_SERVERS, --num_servers=NUM_SERVERS
76
94
                        Number of nameservers to include in test
77
 
  -S, --no_regional     Disable regional_ns servers
 
95
  -S, --system_only     Only test the currently configured system
 
96
  - nameservers.
 
97
  -w, --open_webbrowser
 
98
                        Opens the final report in your browser
 
99
  -u, --upload_results  Upload anonmyized results to SITE_URLl (default:
 
100
                        False)
 
101
  -U SITE_URL, --site_url=SITE_URL
 
102
                        URL to upload results to
 
103
                        (http://namebench.appspot.com/)
 
104
  -H, --hide_results    Upload results, but keep them hidden from indexes.
78
105
  -x, --no_gui          Disable GUI
 
106
  -C, --enable-censorship-checks
 
107
                        Enable censorship checks
 
108
  -6, --ipv6_only       Only include IPv6 name servers
79
109
  -O, --only            Only test nameservers passed as arguments
80
110
 
81
111
--[ sample output ]-------------------------------------------------------------
82
112
 
83
 
namebench 0.6 - 20 threads, 40 tests, 2 runs
84
 
------------------------------------------------------------------------------
85
 
- Checking health of 872 nameservers (20 threads)
86
 
  o N9UF-INFRA-3: NXDOMAIN Hijacking
87
 
  o N9UF-INFRA-4: NXDOMAIN Hijacking
88
 
  * Level 3 [4.2.2.1] is unhealthy: TestWwwGoogleComResponse <class 'dns.exception.Timeout'>
89
 
  * Level 3-2 [4.2.2.2] is unhealthy: TestGoogleComResponse <class 'dns.exception.Timeout'>
90
 
  o OpenDNS: NXDOMAIN Hijacking
91
 
  o OpenDNS-2: NXDOMAIN Hijacking
92
 
  o Louisiana DOE: www.google.com. may be hijacked, NXDOMAIN Hijacking
93
 
  o N9UF-INFRA: NXDOMAIN Hijacking
94
 
  o NTS-2: www.google.com. may be hijacked, NXDOMAIN Hijacking
95
 
- Saving health status of 17 best servers to cache
96
 
- Checking for slow replicas among 17 nameservers
97
 
 
98
 
Final list of nameservers to benchmark:
 
113
namebench 1.3b1 - best history source (automatic) on 2010-05-27 08:34:46.585534
 
114
threads=40/2 queries=250 runs=1 timeout=3.5 health_timeout=3.75 servers=11
 
115
------------------------------------------------------------------------------
 
116
- Reading Top 2,000 Websites (Alexa): data/alexa-top-2000-domains.txt (0.7MB)
 
117
- Reading Cache Latency Test (100% hit): data/cache-hit.txt (0.1MB)
 
118
- Reading Cache Latency Test (100% miss): data/cache-miss.txt (0.1MB)
 
119
- Reading Cache Latency Test (50% hit, 50% miss): data/cache-mix.txt (0.1MB)
 
120
- Skipping /home/tstromberg/Library/Application Support/Chromium/Default/History (168d old)
 
121
- Generating tests from Top 2,000 Websites (Alexa) (33575 records, selecting 250 automatic)
 
122
- Selecting 250 out of 33542 sanitized records (weighted mode).
 
123
 
 
124
- Checking query interception status...
 
125
- Checking connection quality: 1/3...3/3
 
126
- Congestion level is 36.88X (check duration: 1475.29ms)
 
127
- Applied 4.50X timeout multiplier due to congestion: 2.2 ping, 3.5 standard, 16.9 health.
 
128
- Checking latest sanity reference
 
129
- Checking nameserver health (4040 servers)
 
130
- Building initial DNS cache for 4040 nameservers (40 threads)
 
131
- Checking nameserver availability (40 threads): ............
 
132
- 4040 of 4040 tested name servers are available
 
133
- Running initial health checks on 404 servers (35 threads): ............
 
134
- 245 of 404 tested name servers are healthy
 
135
- Making UltraDNS-2 [udns4tcam] the primary anycast - faster than UltraDNS [udns5abld] by 9.07ms
 
136
- Making OpenDNS-2 [2.lon] the primary anycast - faster than OpenDNS [2.lon] by 58.92ms
 
137
- Making DynGuide [ig-02-ams] the primary anycast - faster than DynGuide-2 [ec-02-spl] by 11.34ms
 
138
- Picking 16 secondary servers to use (8 nearest, 8 fastest)
 
139
- Waiting for wildcard cache queries from 22 servers (22 threads): 0/22............22/22
 
140
- Waiting 4s for TTL's to decrement.
 
141
- Running cache-sharing checks on 22 servers (40 threads): ............
 
142
- Disabling Localhost IPv4 [anodized] - slower replica of Internal 10-1 [anodized] by 23.5ms.
 
143
- Picking 6 secondary servers to use (3 nearest, 3 fastest)
 
144
- Benesol BE [85.158.210.68] appears to be the nearest regional (10.46ms)
 
145
- Running final health checks on 11 servers (11 threads): 0/11.......11/11
 
146
 
 
147
Final list of nameservers considered:
 
148
------------------------------------------------------------------------------
 
149
4.2.2.5         Genuity BAK        29  ms | 
 
150
194.74.65.68    BT-6 GB            30  ms | 
 
151
208.67.222.222  OpenDNS-2          31  ms | www.google.com is hijacked: google.navigation.opendns.com
 
152
195.99.66.220   EU BT AMS NL       34  ms | 
 
153
156.154.71.1    UltraDNS-2         41  ms | NXDOMAIN Hijacking
 
154
193.74.208.65   Scarlet-0 BE       45  ms | 
 
155
8.8.4.4         Google Public DNS- 54  ms | (excluded: Shares-cache with current primary DNS server)
 
156
8.8.8.8         Google Public DNS  57  ms | Replica of ::1, Replica of 10.0.0.1, Replica of 8.8.4.4
 
157
216.146.35.35   DynGuide           62  ms | NXDOMAIN Hijacking
 
158
82.146.118.12   Econoweb BE        63  ms | 
 
159
212.71.8.11     EDPnet-2 BE-2      66  ms | 
 
160
85.158.210.68   Benesol BE         82  ms | 
 
161
 
 
162
- Sending 250 queries to 11 servers: ............
 
163
- Error querying OpenDNS-2 [208.67.222.222]: www.360buy.com.: Timeout
 
164
- Error querying Econoweb BE [82.146.118.12]: tieba.baidu.com.: Timeout
 
165
 
 
166
 
 
167
Fastest individual response (in milliseconds):
 
168
----------------------------------------------
 
169
Scarlet-0 BE     ##################### 10.71286
 
170
Benesol BE       ###################### 11.12390
 
171
EDPnet-2 BE-2    ###################### 11.39688
 
172
Econoweb BE      ####################### 11.84607
 
173
OpenDNS-2        ############################ 14.16492
 
174
BT-6 GB          ############################ 14.27984
 
175
Genuity BAK      ############################ 14.33086
 
176
DynGuide         ################################# 17.08102
 
177
EU BT AMS NL     ################################### 17.74192
 
178
Google Public DN ######################################## 20.69783
 
179
UltraDNS-2       ###################################################### 27.56095
 
180
 
 
181
Mean response (in milliseconds):
 
182
--------------------------------
 
183
Google Public DN ########## 62.97
 
184
BT-6 GB          ################### 123.89
 
185
Scarlet-0 BE     #################### 127.88
 
186
Genuity BAK      ####################### 150.14
 
187
UltraDNS-2       ######################### 161.57
 
188
OpenDNS-2        ############################ 182.91
 
189
EU BT AMS NL     ############################# 192.26
 
190
DynGuide         ############################### 205.30
 
191
Benesol BE       ############################### 206.70
 
192
EDPnet-2 BE-2    ################################## 227.69
 
193
Econoweb BE      ##################################################### 355.61
 
194
 
 
195
Response Distribution Chart URL (200ms):
 
196
----------------------------------------
 
197
http://chart.apis.google.com/chart?cht=lxy&chs=720x415&chxt=x,y&chg=10,20&chxr=0,0,200|1,0,100...
 
198
 
 
199
Response Distribution Chart URL (Full):
99
200
---------------------------------------
100
 
  193.121.171.135 [SYS-193.121.171.135], health tests took 81.383ms
101
 
  208.67.220.220 [OpenDNS], health tests took 284.045ms
102
 
  208.67.222.222 [OpenDNS-2], health tests took 390.756ms
103
 
  156.154.70.1 [UltraDNS], health tests took 669.783ms
104
 
  156.154.71.1 [UltraDNS-2], health tests took 705.896ms
105
 
  194.119.228.67 [Scarlet-1], health tests took 98.284ms
106
 
  217.194.96.10 [PINS], health tests took 104.837ms
107
 
  85.90.229.188 [Telecity-DNS], health tests took 112.477ms
108
 
  217.64.240.4 [MACTelecom], health tests took 116.161ms
109
 
  81.171.102.14 [EWEKA-2], health tests took 120.566ms
110
 
  213.138.110.132 [Planetsky], health tests took 122.058ms
111
 
  80.249.115.194 [ip69-ns2], health tests took 128.801ms
112
 
  212.30.96.123 [N9UF], health tests took 129.791ms
113
 
 
114
 
* Benchmarking 13 nameservers with 40 records each (1 of 2)..............
115
 
* Benchmarking 13 nameservers with 40 records each (2 of 2)..............
116
 
 
117
 
Overall Mean Request Duration (in milliseconds):
118
 
------------------------------------------------------------------------------
119
 
UltraDNS        ############ 63
120
 
Scarlet-1       ############# 68
121
 
OpenDNS         ################ 85
122
 
UltraDNS-2      ################## 92
123
 
OpenDNS-2       ################## 93
124
 
MACTelecom      ################### 97
125
 
ip69-ns2        ################### 101
126
 
N9UF            ##################### 108
127
 
Telecity-DNS    ##################### 108
128
 
Planetsky       ########################## 135
129
 
PINS            ########################## 136
130
 
EWEKA-2         ########################### 144
131
 
SYS-193.121.171 ####################################################### 288
132
 
 
133
 
Lowest latency for an individual query (in milliseconds):
134
 
------------------------------------------------------------------------------
135
 
Scarlet-1       ################## 9.64
136
 
SYS-193.121.171 #################### 11.02
137
 
MACTelecom      ####################### 12.19
138
 
ip69-ns2        ########################## 14.22
139
 
PINS            ########################### 14.52
140
 
Planetsky       ############################ 15.20
141
 
EWEKA-2         ############################# 15.96
142
 
Telecity-DNS    ############################## 15.99
143
 
UltraDNS        #################################### 19.55
144
 
N9UF            ###################################### 20.46
145
 
UltraDNS-2      ######################################### 22.16
146
 
OpenDNS         ######################################### 22.47
147
 
OpenDNS-2       ###################################################### 29.76
148
 
 
149
 
Detailed Mean Request Duration Chart URL
150
 
------------------------------------------------------------------------------
151
 
http://chart.apis.google.com/chart?chxt=y%2Cx&chd=s%3ANSTXSafhdrep0%2CGDJINHEFJFSL5&chxp=0&chxr=1%2C15.5%2C320&chxtc=1%2C-900&chco=4684ee%2C00248e&chbh=a&chs=900x320&cht=bhg&chxl=0%3A%7CSYS-193.121.171.135%7CEWEKA-2%7CPINS%7CPlanetsky%7CTelecity-DNS%7CN9UF%7Cip69-ns2%7CMACTelecom%7COpenDNS-2%7CUltraDNS-2%7COpenDNS%7CScarlet-1%7CUltraDNS%7C1%3A%7C0%7C40%7C80%7C120%7C160%7C200%7C240%7C280%7C320&chdl=Run%201%7CRun%202
152
 
 
153
 
Detailed Request Duration Distribution Chart URL
154
 
------------------------------------------------------------------------------
155
 
http://chart.apis.google.com/chart?cht=lxy&chs=700x428&chxt=x,y&chg=10,20&chxr=0,0,220|1,0,100&chd=t:0,9,9,10,10,10,11,11,13,15,18,50,63,72,75,130|0,1,11,30,39,48,53,64,69,73,76,80,84,88,91,95|0,4,5,5,5,6,7,8,8,10,11,13,14,17,48,51,71,91,126|0,1,8,15,33,39,43,51,55,59,63,66,70,74,78,81,85,89,93|0,10,10,11,11,12,12,12,15,16,16,17,51,66,78,85,129|0,1,9,33,38,43,49,53,56,60,66,70,74,78,81,85,89|0,7,8,8,9,9,11,11,13,14,16,21,27,46,54,67,78,97,121|0,1,6,18,25,31,38,41,46,51,56,60,64,68,71,75,79,83,86|0,6,6,6,7,7,7,8,9,9,12,13,14,15,22,44,51,67,74,95,119|0,1,5,11,21,25,31,35,40,44,48,53,56,60,64,68,71,75,79,83,86|0,7,7,8,8,8,9,10,10,11,16,24,48,56,71,83,86,89,121|0,1,8,18,24,29,34,38,41,45,49,53,56,60,64,69,73,76,80|0,6,7,7,7,8,8,8,10,11,12,13,15,18,22,47,49,56,63,78,98,124|0,1,8,14,21,25,31,35,39,43,48,51,55,59,63,66,70,74,78,81,85,89|0,7,8,8,9,9,10,11,12,13,18,27,49,56,61,68,78,87,96,127|0,1,11,19,23,28,31,35,39,45,49,53,56,60,64,68,71,75,79,83|0,10,11,11,12,14,14,14,15,15,15,19,22,26,33,44,52,78,86,136|0,1,5,10,14,18,24,44,53,59,63,66,70,74,78,81,85,89,93,96|0,5,9,14,17,44,54,57,60,67,70,72,89,119|0,1,5,9,13,16,20,24,28,33,36,40,44,48|0,14,14,14,14,15,15,16,17,17,18,19,19,20,21,23,25,28,33,58,85,207|0,1,5,13,24,29,36,40,45,49,53,56,60,65,69,73,76,80,85,89,93,96|0,9,10,10,11,11,11,12,13,14,16,23,48,72,81,89,133|0,1,16,26,30,39,51,56,60,64,68,71,75,79,83,86,90|0,7,7,8,8,8,10,11,12,13,16,19,23,30,50,58,80,93,114|0,1,10,20,25,30,34,40,44,49,53,56,60,64,68,71,75,79,83&chco=ff9900,3dbecc,ff3912,303030,4684ee,fae30a,cc3ebd,76cc3e,bdcc3e,ababab,e5a59e,9900ff,76dbf4&chdl=UltraDNS|Scarlet-1|UltraDNS-2|Telecity-DNS|MACTelecom|Planetsky|ip69-ns2|EWEKA-2|OpenDNS|SYS-193.121.171.135|OpenDNS-2|N9UF|PINS
156
 
 
157
 
Recommended Configuration (fastest + nearest):
 
201
http://chart.apis.google.com/chart?cht=lxy&chs=720x415&chxt=x,y&chg=10,20&chxr=0,0,3500|1,0,100...
 
202
 
 
203
Recommended configuration (fastest + nearest):
158
204
----------------------------------------------
159
 
nameserver 156.154.70.1    # UltraDNS
160
 
nameserver 194.119.228.67  # Scarlet-1
161
 
nameserver 193.121.171.135 # SYS-193.121.171.135
162
 
 
 
205
nameserver 8.8.8.8         # Google Public DNS  
 
206
nameserver 193.74.208.65   # Scarlet-0 BE  
 
207
nameserver 85.158.210.68   # Benesol BE  
 
208
 
 
209
********************************************************************************
 
210
In this test, Your current primary DNS server is Fastest  
 
211
********************************************************************************
 
212
 
 
213
- Saving report to /tmp/namebench_2010-05-27_0842.html
 
214
- Saving detailed results to /tmp/namebench_2010-05-27_0842.csv
163
215
 
164
216
 
165
217
--[ FAQ ]-----------------------------------------------------------------------
 
218
 
 
219
See http://code.google.com/p/namebench/wiki/FAQ for more recent updates.
 
220
 
166
221
1) What does 'NXDOMAIN Hijacking' mean?
167
222
 
168
223
  This means that the specific DNS server returns a false entry when a