[bind10-dev] zonemgr / notify out questions

Likun Zhang zlkzhy at gmail.com
Tue Sep 14 02:26:56 UTC 2010


> Jeremy,
> 
> Re: 19
> 
> jitter is a server operation detail rather than a protocol issue.
> 
> It is there to ease the following problem: someone updates a whole bunch
> of zones that each have a bunch of slaves. Without jitter, every refresh
> cycle from then on, at the refresh expire time all of the slaves will
> ask the master for an XFR of every zone at exactly the same time. You
> get a huge spike in the load on the master processing all the transfer
> requests.
> 
> With jitter, this gets spread out and the master doesn't fall over. It's
> one of those operational details that was hard earned learning. So it
> belongs there at some point and is necessary to call it production
> level, but a server can ship without it and still be useful. Almost any
> implementation that meets the general goal is fine. I would guess that
> 25% range spread (refresh/4) was chosen at a dart board one day. :)
> 
> hope that helps,
> jerry S
> 
> 
> > 19) Is random Refresh jitter defined in any specification? I see it uses
> > between (zone_refresh_time - ((1 * zone_refresh_time) / 4)) and
> > zone_refresh_time.

This is what bind9 does now, 

- When bind9 starts, jitter for refresh time is  rand() % (retry * 3 / 4),  
- Refresh fails, jitter for next refresh time is   rand() % (retry / 4)
- Refresh successes, jitter for next refresh time is rand() % (refresh/4)

Likun








More information about the bind10-dev mailing list