Re: Slow DNS Lookups on Debian Etch AMD 64
On Sat, 2007-05-12 at 14:27 +0100, Karl E. Jorgensen wrote:
> On Thu, May 10, 2007 at 09:41:59AM -0500, Dallas Clement wrote:
> > I'm getting terrible DNS lookup performance on my Debian Etch system.
> > I've installed the "Etch" - Official Beta amd64 version.
> >
> > After installing, I noticed that the Internet browsers were taking a
> > really long time to pull up a web page. I also observed that the
> > browser delays seemed to be DNS related as they were spending a lot of
> > time "Looking up whatever.com...".
> >
> > I turned off IPv6 and it made no observable difference.
>
> How?
>
> > It seems that a DNS lookup is taking 10s on average. Here is the dig
> > output for one such lookup:
> >
> > debian:/# time dig 192.168.0.1 www.yahoo.com
> > ;; Got answer:
> [snip]
> > ;; Query time: 10 msec
> > ;; SERVER: 192.168.0.1#53(192.168.0.1)
> > ;; WHEN: Thu May 10 09:39:21 2007
> > ;; MSG SIZE rcvd: 104
> >
> >
> > ; <<>> DiG 9.3.4 <<>> 192.168.0.1 www.yahoo.com
> > ;; global options: printcmd
> > ;; Got answer:
> [snip]
> > ;; Query time: 10 msec
> > ;; SERVER: 192.168.0.1#53(192.168.0.1)
> > ;; WHEN: Thu May 10 09:39:26 2007
> > ;; MSG SIZE rcvd: 368
> >
> >
> > real 0m10.031s
> > user 0m0.000s
> > sys 0m0.000s
>
> Weird - the elapsed time for the DNS queries are reported as 10 msec
> each, yet they are 5 seconds apart?
>
> > This very same machine also has Windows Vista Ultimate 64 installed on
> > it and DNS lookups are lightning fast. There is definitely something
> > going on with Debian Etch or perhaps the network configuration.
>
> Does the other OS use the same DNS server(s)?
>
> The contents of /etc/resolv.conf might provide clues - especially if
> compared to the Windows equivalent (of which I know nothing...)
>
> > I am using the ndiswrapper around a Windows driver for my Broadcom
> > wireless network adapter.
>
> Shouldn't matter, assuming that you don't have any other network
> problems...
>
>
This is what's in my /etc/resolv.conf:
dallas@debian:~$ cat /etc/resolv.conf
search clements
nameserver 192.168.0.1
'clements is the name of the local domain. And that is the correct name
server on the local domain which happens to be a D-link router. It uses
DNS relay to forward DNS requests to my ISP.
Interestingly, if I repeat the dig test directly on my ISP DNS server
address, the time between queries is dramatically reduced:
----------------------------------------------------------
debian:/home/dallas# time dig 151.164.20.201 debian.org
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 59962
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;151.164.20.201. IN A
;; AUTHORITY SECTION:
. 10667 IN SOA A.ROOT-SERVERS.NET.
NSTLD.VERISIGN-GRS.COM. 2007051101 1800 900 604800 86400
;; Query time: 9 msec
;; SERVER: 151.164.20.201#53(151.164.20.201)
;; WHEN: Sat May 12 08:55:23 2007
;; MSG SIZE rcvd: 107
; <<>> DiG 9.3.4 <<>> 151.164.20.201 debian.org
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42634
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0
;; QUESTION SECTION:
;debian.org. IN A
;; ANSWER SECTION:
debian.org. 3600 IN A 192.25.206.10
;; AUTHORITY SECTION:
debian.org. 2615 IN NS rietz.debian.org.
debian.org. 2615 IN NS klecker.debian.org.
debian.org. 2615 IN NS raff.debian.org.
;; Query time: 138 msec
;; SERVER: 151.164.20.201#53(151.164.20.201)
;; WHEN: Sat May 12 08:55:24 2007
;; MSG SIZE rcvd: 105
real 0m0.157s
user 0m0.004s
sys 0m0.000s
----------------------------------------------------------
WOW! And if I directly edit the /etc/resolv.conf and put in the DNS
server address of my ISP instead of my relaying D-Link router, lo and
behold, my web-browsing is incredibly fast!!! I think we can safely
conclude that the problem lies with my router and slow DNS relay.
Though I must say that I am a bit mystified as to why Windows is so fast
if it presumably relies on the D-link router for DNS relay also.
I wish there was a way to keep my ISP DNS addresses in
the /etc/resolv.conf file permanently. I think they get overwritten
after getting a DHCP response.
Thanks for the help.
Reply to: