Hi Everyone,
with the 1.5.0 mostly feature-complete, us jolly folks at the CZ.NIC Labs
thought
that the time has come to share it with you in form of a first release
candidate.
I'd like to tell you a story first - I was browsing through the NEWS file,
looking back
at the things we've done since the 1.0.0 two years ago. Oddly enough, one
of the new
features was an "optimized memory consumption", and I've seen this repeat a
few times.
I would have thought that the Knot DNS consumes zero memory by now, but it
appears it doesn't
work that way. The law of diminishing return still applies, and the changes
in between the versions
seem almost insignificant. Sometimes at least (recently, I've added a
benchmark of 1M small zones to our benchmark [1], which showed how much
memory did we need per each zone).
We addressed that. And despite the new preallocated packet buffers and
other features, we still managed to cut down the resource requirements for
TLD use cases for about 20%.
My point is, while the 20% does not seem that impressive alone, but the
steep release-over-release tendency of smaller memory footprint and faster
startup/answer performance just shows the unrelenting attention to the
seemingly insignificant stuff, like structure alignment or packet
distribution. That's what we're commited to.
Now, what's actually new in the 1.5.0? I've touted the major changes under
the bonnet earlier this
year and boy, we've been busy. One of the major changes is the new query
processing, which allowed us to do several cool things. The query
processing is broken down to the set of step,
that are built like a LEGO, and each of the steps can be altered by the
modules.
We have two modules now - a module capable of synthesizing forward/reverse
records according to the configuration template. This for example solves
the IPv6 reverse records problem (SLAAC as well), as we don't have to
generate massive zones, but rather create the records on the fly.
The second module is a dnstap query/response log. Heard about the dnstap
[2]? It's a pretty ingenious solution to the fine-grained capture of the
DNS traffic without compromising the performance.
By the way, the utilities (kdig) support it too and you can either capture
or replay queries now.
The good thing about modules is that it allows us to streamline (about 12K
LOC less) the core functionality and extend the server at the some time.
Think RRL, load balancing, geo-aware answers.
What about other things? As for the visible changes, for instance a
multi-master failover, improved logs, asynchronously loaded zones, much
more accurate "knotc memstats" and "zonestatus" tools, new user manual ...
I could probably bore you to death with the nitty gritty stuff, so check
out the changelog to know more. That being said, I'd like to ask your help.
The new stuff, like the asynchronous zone loading or logging, change the
usability a little. Did we break your scripts or use case? Compliment,
cheeky remark or angry rant? Please let us know, we'd like to get most of
the kinks ironed out till the final release. Thank you.
Changelog:
https://gitlab.labs.nic.cz/labs/knot/blob/v1.5.0-rc1/NEWS
<https://gitlab.labs.nic.cz/labs/knot/blob/v1.4.4/NEWS>
Sources:
https://secure.nic.cz/files/knot-dns/knot-
<https://secure.nic.cz/files/knot-dns/knot-1.4.4.tar.gz>1.5.0-rc1
<https://gitlab.labs.nic.cz/labs/knot/blob/v1.4.4/NEWS>.tar.gz
https://secure.nic.cz/files/knot-dns/knot-
<https://secure.nic.cz/files/knot-dns/knot-1.4.4.tar.xz>1.5.0-rc1
<https://gitlab.labs.nic.cz/labs/knot/blob/v1.4.4/NEWS>.tar.xz
GPG signatures:
https://secure.nic.cz/files/knot-dns/knot-
<https://secure.nic.cz/files/knot-dns/knot-1.4.4.tar.gz.asc>1.5.0-rc1
<https://gitlab.labs.nic.cz/labs/knot/blob/v1.4.4/NEWS>.tar.gz.asc
https://secure.nic.cz/files/knot-dns/knot-
<https://secure.nic.cz/files/knot-dns/knot-1.4.4.tar.xz.asc>1.5.0-rc1
<https://gitlab.labs.nic.cz/labs/knot/blob/v1.4.4/NEWS>.tar.xz.asc
[1] http://knot-dns.labs.nic.cz/pages/benchmark.html#tab-resource-usage
[2] http://dnstap.info/
Kind Regards,
Marek
--
Marek Vavrusa, Knot DNS
CZ.NIC Labs http://www.knot-dns.cz
-------------------------------------------
Americká 23, 120 00 Praha 2, Czech Republic
WWW: http://labs.nic.czhttp://www.nic.cz