I have tried Google's DNS service, and those delays are MUCH longer, usually 6-10 seconds, often 15 seconds, and sometimes nearly 20 seconds before the fetching phase begins.
Sorry for the intrusion, but the times you are showing are really very high. Are you sure it's a DNS problem and not some some other network related problem ?
Intrusion? NOT! This is a forum thread! Besides, I've made wrong assumptions before, this could be yet another.
I suppose I cannot definitively declare that the DNS lookup is the whole delay. I can only say that from the time I click a link, to the time when the time the destination begins loading, I experience this: A] Firefox says "Looking up....", then many whole seconds elapse (counted via a real timepiece), then, B] Firefox changes its status message to "Fetching..." AND something begins loading in Firefox at that same moment.
can I suggest you some simple command to check the answer time of a DNS ? (you will find my results quoted below)
google dns:
try the following, should report the round trim time from your location to google DNS:
ping -c 3 8.8.8.8
My results are:[mmmmna@localhost ~]$ ping -c 3 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=56 time=31.4 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=56 time=30.5 ms
64 bytes from 8.8.8.8: icmp_req=3 ttl=56 time=31.3 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2023ms
rtt min/avg/max/mdev = 30.572/31.143/31.483/0.454 ms
[mmmmna@localhost ~]$Reasonable data.
Of course, 30ms are a quite reasonable time, you can try also using the IP address of OpenDNS.
try:
time -p ping -c 1 www.google.com
My data:[mmmmna@localhost ~]$ time -p ping -c 1 http://www.google.com
ping: unknown host http://www.google.com
Command exited with non-zero status 2
real 0.15
user 0.00
sys 0.00
[mmmmna@localhost ~]$ time -p ping -c 1 http://www.google.com
ping: unknown host http://www.google.com
Command exited with non-zero status 2
real 0.12
user 0.00
sys 0.00
[mmmmna@localhost ~]$ time -p ping -c 1 http://www.google.com
ping: unknown host http://www.google.com
Command exited with non-zero status 2
real 0.10
user 0.00
sys 0.00
[mmmmna@localhost ~]$Hehehe... wow.
Google DNS can't find Google.
No, there is an error introduced by the forum editor: ping must be used with a hostname
without the http:// prefixplease retry the command by handwriting the command (without quotes):
"time -p ping -c 1
www.google.com"
lastly try to ping the IP address you have seen in the previous ping (in my case was 74.125.232.114)
time -p ping -c 1 74.125.232.114
Again, here is my data:[mmmmna@localhost ~]$ time -p ping -c 1 74.125.232.114
PING 74.125.232.114 (74.125.232.114) 56(84) bytes of data.
64 bytes from 74.125.232.114: icmp_req=1 ttl=54 time=116 ms
--- 74.125.232.114 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 116.145/116.145/116.145/0.000 ms
real 0.11
user 0.00
sys 0.00
[mmmmna@localhost ~]$ time -p ping -c 1 74.125.232.114
PING 74.125.232.114 (74.125.232.114) 56(84) bytes of data.
64 bytes from 74.125.232.114: icmp_req=1 ttl=54 time=115 ms
--- 74.125.232.114 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 115.593/115.593/115.593/0.000 ms
real 0.11
user 0.00
sys 0.00
[mmmmna@localhost ~]$
So that is that.
The IP 74.125.232.114 is what I have obtained from
www.google.com, but I'm in Europe, once you have repeated the ping to
www.google.comyou will find an IP which probably will answer much faster for you.
Theoretically you should obtain times of the same magnitude of those you saw from browser ...
Sorry if the things above were really obvious, my post is just about to not overlook something else.
I'll offer my explanation for why I wanted to have a local DNS cache of any value.
These tests are sending a ping request to an IP address.
Q: Doesn't the DNS situation determine the proper destination IP address address according to what is defined in some record? I believe it does, to a large extent.
Yes, more or less a DNS work like a phonebook, you ask by name and it will answer an IP number.
That said, and with a major amount of simplification, lets assume a record exists where the ping calls are sent to a single specific server. Is there any definitive requirement where the IP address for a ping request also shares the same IP address for HTTP requests? I believe not.
Yes, ping use a different protocol from http (ICMP vs. TCP) but both requests share the same route and destination.
Therefore, any ping test results will likely not be responses from the same servers where http data is served.
Therefore, testing ping times will probably be unrelated to ever possible cause of slow http responses.
No, see above, however my request to evaluate "ping answer" are only directed to exclude other (eventually hidden) problems.
Besides that, when you use Googles public DNS, IIRC, Googles terms state that Google is going to analyze the data. I'd say that the time for them to analyze the data is part of why I get such slow responses. From that conclusion, I return to the request about setting up a local DNS server.
No, at least not to the level to impact so much to leave you with such long waits. (Other than this I believe that google simply record all traffic (origin + destination) and then will process this data later, as a completely separated process).
@menotu,
thank for the suggestions, greatly appreciated,
however, as said before my aim is to avoid to search for a DNS problem when possibly the problem is not the DNS,
this because I believe that a web page rendered after 10 +- 15 secs may be it's not an issue exclusively related to DNS.
And of course
a DNS answer time of 30ms like shown from
mmmmna let me believe that
the problem is elsewhere.
AS