nanog mailing list archives

Re: Speaking of DNS server software...


From: Ryan Kozak via NANOG <nanog () lists nanog org>
Date: Mon, 11 Aug 2025 15:30:47 +0000

If it's just an experiment

No one ever suggested writing a brand new, production ready DNS server from scratch.

Regards,
Ryan


-------- Original Message --------
On 2025-08-10 20:13, Mike Crute <mike () crute us> wrote:

 On Mon, Aug 11, 2025 at 02:34:56AM +0000, Ryan Kozak wrote:
 >>
 >> On 2025-08-10 10:40, Michael Crute via NANOG <nanog () lists nanog org> wrote:
 >>
 >>  The CPython interpreter does still have a global interpreter lock as
 >>  well which causes thread synchronization on data access. You can
 >>  mitigate this somewhat by running multiple instances of a server or
 >>  asynchronous programming techniques but it still has a pretty
 >>  substantial performance impact on highly concurrent systems. This is
 >>  why most people scaling Python do so horizontally. I'd personally
 >>  avoid something like Python for DNS or at least load test it very
 >>  carefully before using it in production.
 >>
 > This is not necessarily true anymore. As of Python 3.13 the GIL is now
 > optional, though it defaults to enabled. They are slowly working
 > towards flipping that.
 
 While they're definitely working towards a lock-free world it's still
 very early and experimental. It's in a rather recently (Oct 2024)
 release of Python, default disabled and hidden behind a flag
 (--disable-gil). Also, to quote the 3.13 docs "expect some bugs and a
 substantial single-threaded performance hit". I would also venture a
 guess that DNS software written in Python will probably also need to be
 updated to break its GIL-based assumptions.
 
 Not saying you can't run production DNS on a Python server stack but you
 definitely should understand how to effectively scale Python apps and
 load test it carefully otherwise you're in for some uncomfortable
 surprises. You should also probably not run it in GIL-free mode just
 yet.
 
 ~mike
 

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
NANOG mailing list 
https://lists.nanog.org/archives/list/nanog () lists nanog org/message/GNXZUSEA3DSCHKVL6MWGBEZTV7S5A3YY/

Current thread: