NSD 4.10.0rc1 is available:
Version 4.10.0 integrates simdzone and drops the Flex+Bison zone parser.
NSD used a Flex+Bison based zone parser since version 1.4.0. The parser served
NSD well, but zones have increased in size and zone loading performance has
been problematic for some users.
With the integration of simdzone (https://github.com/NLnetLabs/simdzone),
performance of loading zones and IXFRs is drastically improved. Quick
measurements show improvements ranging anywhere from 3.8x to 1.6x depending
on zone size and database type, though the improvements will be less noticable
for NSEC3 zones due to pre-hashing.
simdzone leverages SIMD instructions in modern CPUs to improve throughput.
Right now SSE4.2 and AVX2 instruction sets are supported, other instruction
sets will use the fallback implementation, which still is a decent improvement
over the Flex+Bison based parser.
The release candidate window will be longer this time as simdzone is rather
new and while it has been tested on various architectures and operating
systems, it is likely problems will pop-up due to sheer amount of code. Please
consider giving this release candidate a good run and report any problems.
4.10.0
FEATURES:
- Merge #278: Replace Flex+Bison based zone parser with simdzone.
Performance of loading zones and IXFRs is greatly improved by using
the simdzone project by NLnet Labs. The optimized presentation format
parser leverages SIMD instructions in modern CPUs to improve throughput.
Right now SSE4.2 and AVX2 instruction sets are supported, other
instruction sets will use the fallback implementation, which still is
a decent improvement over the Flex+Bison based parser.
BUG FIXES:
- Fix that when the server truncates the pidfile, it does not follow
symbolic links. - Fix #317: nsd should not chown its PID file.
- For #317: Modify nsd service script to stop NSD from creating a
pid file that systemd is not using. - Fix #324: Clarify the purpose of contrib/bug390.patch.
- Fix IXFR requests upstream for zones with a long name. Thanks for
the report to Yuuki Wakisaka from Internet Initiative Japan Inc. - Unit test for dname subdomain test used by xfrd-tcp.c.
- Fix #329: TCP accept queues number.
- Fix that the reload handler for sigchild uses signal_add, and
also that the signal handler is restored when done. - Fix that when server verify is done it resets the sigchild handler.
- Fix makedist.sh for simdzone inclusion.
- Fix makedist.sh to remove simdzone git tracking information and
scripting temporaries from tarball. - Fix error output of makedist.sh.
- Use simdzone version with name parser fix.
- Bump simdzone version to fix OpenBSD build issues.