[Dnsmasq-discuss] google chrome requires higher-than-default DNS performance

reik red reikred at gmail.com
Thu Feb 3 22:18:20 GMT 2011


All,

I posted the below on

http://www.google.com/support/forum/p/Chrome/thread?tid=31510b9d242cb677&hl=en

to address a pesky problem that occurs when google chrome overloads the DNS and pretty
mauch just hangs thereafter.

I found that recompiling dnsmasq with a larger cache-size limit (75000) and running
dnsmasq with a higher cache-size setting (25000) made a difference.

Please review and see whether MAX cache-size should perhaps be a larger
number than 10000, and the default setting should perhaps be something larger than 150.

Here is some data on the type of workload that my local dnsmasq is dealing with:

killall -USR1 dnsmasq
cat /var/log/messages | grep dnsmasq
Feb  2 19:02:44 my-host dnsmasq[9275]: time 1296702164
Feb  2 19:02:44 my-host dnsmasq[9275]: cache size 25000, 0/1065668 cache insertions re-used unexpired cache entries.
Feb  2 19:02:44 my-host dnsmasq[9275]: queries forwarded 311991, queries answered locally 181510
Feb  2 19:02:44 my-host dnsmasq[9275]: server 10.10.10.99#53: queries sent 311998, retried or failed 95

Thanks
/RR

------------------------------------------------------------------------------------
HEADLINE:

"The following pages have become unresponsive. Your can wait for them to become responsive or kill them".

INTRODUCTION:

The above error message ("Unresponsive") and associated hangs/slowdowns has been discussed many places previously, but
AFAICT nobody has found the real underlying problem.

Except I think I now have found at least one major failure mode.

SUMMARY:

The message and the associated hanging/slowdown of loading various browser tabs occur when the Domain Name System (DNS)
is overloaded and is slow to respond.  DNS is  the system that translates symbolic names such as www.google.com into a
numeric value such as  74.125.224.18.

DETAILS:

This can for example be because you are loading 100s of tabs at once, and/or because your DNS is not set up properly to
handle a high workload, or because one or more of the upstream hierarchical DNS servers cannot handle the workload.
hence, the problem is not directly a Google Chrome problem, but Chrome could do better by diagnosing that the holdup is
the DNS system, and not the various web sites them selves. At least in my experience, it has always been the DNS and not
the sites themselves that have been the holdup.

FIXES:

I run Google Chrome on a Linux Fedora Core 14 system, with a Netgear router, and a Comcast cable modem as the internet
connection. Fedora 14 uses the dnsmasq local caching DNS server. Here are the steps I followed to get better DNS
performance. With these changes, the "Unresponsive" message does not occur nearly as often.

1. recompiling dnsmasq with cache-size limit set to 75000 is needed (original limit was 10000). The code that needs to
be changed is in the file option.c

2. using cache-size actual value 25000 is reasonable (dnsmasq.conf file)

3. on reboot, dnsmasq does not read dnsmasq.conf and comes up with cache-size=150. Has to be killed and restarted.
FIX: I have not found yet a fix for this

4. /etc/resolv.conf does not automatically get 127.0.0.1 as first entry, this also has to be added manually for dsnmasq
to work    (see below, I have a fix now, set in ifcfg-eth0 files)

5. once dnsmasq is set up properly, the netgear WNR3500 router is the next bottleneck. It seems to have slow dns after
several days,    and powercycling is required, then it is back to being fast again.    Wish I could upgrade the firmware
to open src, but model not right?

6. After router powercycle, /etc/resolv.conf loses 127.0.0.1 again,    more manual work. Maybe DHCP configuration needs
a change?    Just adding it in system-config-network does NOT surivive router    reboot. FIX: ifcfg-eth0 needs

PEERDNS=no
DNS1=127.0.0.1
DNS2=10.10.10.99 (the address if the Netgear router)

That's it. Depending on your particular system, the required actions to improve DNS performance may vary. I'm by no
means a DNS expert, so I have no particular knowledge what may be required on other systems.

Google Chrome	9.0.597.67 (Official Build 71393) beta
WebKit	534.13
V8	2.5.9.7
User Agent	Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.67
Safari/534.13




More information about the Dnsmasq-discuss mailing list