The speed of your internet browsing depends on the dns servers to a certain extent. Whenever a url is opened in the browser, the browser has to first perform a dns request to get the ip address of that particular url's domain name. For example www.google.com. It is only after the ip address is found, can the browser proceed further with loading the web page by sending http requests.
So the speed factor depends on how fast the dns server responds with the ip details. Now it is understood that the browser/system already knows the ip address of the dns servers (otherwise how would it contant them). The most commonly used dns servers are :
1. Opendns - 220.127.116.11
2. Google dns - 18.104.22.168
3. Your isp's dns servers
The main factor on which the speed of the dns server depends is, that how far is it from your computer in terms of network hops. If you are somewhere in India, then a server in Singapore will be nearer than a server in the US. This distance can be found out by doing a traceroute to the target system. More the hops, farther away it is.
To measure the speed of the dns server, all that needs to be done is to find out its response time. This can be done very easily using the ping command in the terminal/console. So lets ping each of the dns servers listed above one by one and see their ping response times.
$ ping 22.214.171.124 PING 126.96.36.199 (188.8.131.52) 56(84) bytes of data. 64 bytes from 184.108.40.206: icmp_req=1 ttl=52 time=362 ms 64 bytes from 220.127.116.11: icmp_req=3 ttl=52 time=362 ms 64 bytes from 18.104.22.168: icmp_req=4 ttl=52 time=362 ms 64 bytes from 22.214.171.124: icmp_req=5 ttl=52 time=362 ms
So the opendns server has a ping response time of 362ms. Ok, lets try the next one.
Google Dns server
$ ping 126.96.36.199 PING 188.8.131.52 (184.108.40.206) 56(84) bytes of data. 64 bytes from 220.127.116.11: icmp_req=1 ttl=57 time=128 ms 64 bytes from 18.104.22.168: icmp_req=2 ttl=57 time=132 ms 64 bytes from 22.214.171.124: icmp_req=3 ttl=57 time=127 ms 64 bytes from 126.96.36.199: icmp_req=4 ttl=57 time=129 ms 64 bytes from 188.8.131.52: icmp_req=5 ttl=57 time=131 ms
Google dns server have a ping response time of around 130ms average. Now that is nearly 3 times faster than the open dns server. Many articles out there talk about using opendns for improving dns speed, but first the speed has to be tested, since opendns may not always be the fastest one.
My isp dns - 184.108.40.206
$ ping 220.127.116.11 PING 18.104.22.168 (22.214.171.124) 56(84) bytes of data. 64 bytes from 126.96.36.199: icmp_req=1 ttl=251 time=6.30 ms 64 bytes from 188.8.131.52: icmp_req=2 ttl=251 time=6.16 ms 64 bytes from 184.108.40.206: icmp_req=3 ttl=251 time=6.01 ms 64 bytes from 220.127.116.11: icmp_req=4 ttl=251 time=6.45 ms 64 bytes from 18.104.22.168: icmp_req=5 ttl=251 time=6.25 ms
ISP dns server has a ping response time of around 6.5ms. This is the fastest so far and around 20 times faster than even google dns. This is because this dns server is located very near (may be in same city) to my internet connection.