> 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 <[email protected]> wrote:

>  On Mon, Aug 11, 2025 at 02:34:56AM +0000, Ryan Kozak wrote:
>  >>
>  >> On 2025-08-10 10:40, Michael Crute via NANOG <[email protected]> 
> 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/[email protected]/message/GNXZUSEA3DSCHKVL6MWGBEZTV7S5A3YY/

Reply via email to