Why are XFRs to Secondaries equally fast?

Petr Špaček pspacek at isc.org
Thu Jul 27 13:08:32 UTC 2023


On 27. 07. 23 11:17, Klaus Darilion via bind-users wrote:
> Hello!
> 
> Yesterday I made some tests transferring a zone with 50mio RRs to 35 
> Secondaries. I measured the time between:
> 
> -Primary logs "zone test/IN: sending notifies"
> 
> -Primary logs "client xxxx: transfer of 'test/IN': AXFR-style IXFR ended"
> 
> What makes we wonder is, that for several secondaries the XFR duration 
> is equally fast although these secondaries are globally distributed with 
> different RTTs and different VMs:
...
> 
> For example, there are 8 secondaries (Mumbai, LosAngeles, Melbourne, 
> Atlante, SaoPaulo...) to which the XFR took 2361 seconds.
> 
> Are there some mechanisms in Bind that put multiple XFRs together into a 
> common stream? Or do you have any other ideas how it come that several 
> XFRs are equally fast?

Are you sure all these transfers were _actually_ running in parallel?

I suspect it will boil down to some sort of configured limit like
transfers-out
transfers-in
transfers-per-ns
serial-query-rate
which cause some transfers to serialize and reduce parallelism.

See
https://bind9.readthedocs.io/en/latest/reference.html#namedconf-statement-serial-query-rate
https://bind9.readthedocs.io/en/latest/reference.html#namedconf-statement-transfers-in
options for tuning.

Consumption speed might be hampered by slow storage (zone journaling 
does lots and lots of fsync()s, at least when you test IXFR).

-- 
Petr Špaček
Internet Systems Consortium


More information about the bind-users mailing list