[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [cobalt-users] system status report / Telnet server performan ce



On Mon, 12 Feb 2001, Rodolfo Paiz wrote:

> I should've been more specific with the question, as in... "Other than
> the expected benefits of fault-tolerance and resistance to cracks, what
> benefits would there be from separating DNS and web servers?"

Ok, here's a more pragmatic reason, bind, due to the way it's designed,
pretty much *must* run entirely in memory, if parts of it get swapped to
disk , it starts dropping queries, remember, bind uses mostly UDP, the U
is for 'Unreliable', if a lot of querys arrive before bind has a chance to
read them from the stack, the earlier ones just get dumped...

This behavior is inherent in the way bind works, because it has to expire
records when the TTL runs out, it tends to sweep through it's entire
memory space from time to time looking for things that have expired, this
causes huge bursts of demand-paging to occur, blocking bind while it waits
for all the disk activity to finish...

Why is this relevant? because running something like a web server has a
tendency to cause inactive memory pages to be swapped out to disk fairly
often to make more free ram available for the active processes (the web
server, perl, cgi's) which tends to swap out bind because bind often goes
for fair lengths of time with no activity (because no one happens to have
made a query) after which there may be a flurry of querys (eg someone is
sending you email, several records need to be looked up )

So, there is some benefit to having bind run on a nice quiet machine that
doesn't do much else ....(or hosted by someone why only runs nameservers
on machines)

gsh