You may have heard about Google's recent release of Google Public DNS which, amongst other claims, aims to speed-up your browser's interaction with DNS servers thereby making the internet appear faster. Well, that's my interpretation anyway. Google states that “...Google Public DNS takes some new approaches that we believe offer more valid results, increased security, and, in most cases, better performance.”
I was particularly interested in the possible speed increase after finding these benchmarks where the comparative speed of Google Public DNS (8.8.8.8), Level 3 (4.2.2.2) and OpenDNS (208.67.222.222) were tested.
Using these same DNS servers, here are my results for a handful of sites I visit regularly:
- macrumors.com - Google DNS (8.8.8.8) | 39 msec Level 3 (4.2.2.2) | 101 msec OpenDNS (208.67.222.222) | 136 msec - apple.com - Google DNS (8.8.8.8) | 39 msec Level 3 (4.2.2.2) | 101 msec OpenDNS (208.67.222.222) | 130 msec - bbc.co.uk - Google DNS (8.8.8.8) | 38 msec Level 3 (4.2.2.2) | 101 msec OpenDNS (208.67.222.222) | 129 msec - blog.patchpeters.com - Google DNS (8.8.8.8) | 39 msec Level 3 (4.2.2.2) | 116 msec OpenDNS (208.67.222.222) | 129 msec
OK. So Google Public DNS is the clear winner in terms of speed.
But, as I live in Tokyo, where we are fortunate to have internet access advertised at 100mbps (Yes. One-hundred!) as standard, let's throw my ISP's own DNS into the mix.
- macrumors.com - My ISP (xxx.xxx.xxx.xxx) | 13 msec Google DNS (8.8.8.8) | 38 msec Level 3 (4.2.2.2) | 101 msec OpenDNS (208.67.222.222) | 129 msec - apple.com - My ISP (xxx.xxx.xxx.xxx) | 11 msec Google DNS (8.8.8.8) | 39 msec Level 3 (4.2.2.2) | 101 msec OpenDNS (208.67.222.222) | 131 msec - bbc.co.uk - My ISP (xxx.xxx.xxx.xxx) | 11 msec Google DNS (8.8.8.8) | 38 msec Level 3 (4.2.2.2) | 116 msec OpenDNS (208.67.222.222) | 130 msec - blog.patchpeters.com - My ISP (xxx.xxx.xxx.xxx) | 10 msec Google DNS (8.8.8.8) | 64 msec Level 3 (4.2.2.2) | 101 msec OpenDNS (208.67.222.222) | 130 msec
Hmmmm..... No contest. With regard to speed, I think I'll be sticking with my ISP's DNS for now.
For those interested, here's the shell script I used in Terminal to get these results. It was adapted from the one published here.
#!/bin/sh
dns=("My ISP" "Google DNS" "Level 3" "OpenDNS");
for i in "macrumors.com" "apple.com" "bbc.co.uk" "blog.patchpeters.com"
do
x=0
echo - $i -
#Replace xxx.xxx.xxx.xxx with your ISP's DNS
for j in "xxx.xxx.xxx.xxx" "8.8.8.8" "4.2.2.2" "208.67.222.222"
do
echo ${dns[x]} "("$j") |" `dig @$j $i | grep Query | awk -F ":" '{print $2}'`
x=$x+1
done
echo ""
done