On 2/7/20 10:51 AM, James Stevens wrote: >> - You would be surprised how slow UDP packet processing in kernel can >> be ;-) > > Often UDP slowness is due to the fact that each packet requires a > context-switch from kernel to user-space, and back for the reply. > > So the bottleneck on a DNS server is generally how fast the CPU can > context switch, and this often had a hardwired limit. In that you can > top out the packet throughput with the CPU still showing %idle. > > I believe there is (or has been) a dev going on in the kernel to fix > this. > > I might be behind the curve, I've not looked into it for a bit.
Actually the multi-packet API (sendmmsg + recvmmsg) did not help that much in our benchmarks (with Knot DNS and Knot Resolver), though it seems worth using. "Bypassing" the kernel's networking stack did help way more - incidentally Libor Peltan is presenting about that at tomorrow's OARC :-) --Vladimir
_______________________________________________ dns-operations mailing list [email protected] https://lists.dns-oarc.net/mailman/listinfo/dns-operations
