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:
- Re: Speaking of DNS server software..., (continued)
- Re: Speaking of DNS server software... Måns Nilsson via NANOG (Aug 12)
- Re: Speaking of DNS server software... Ryan Kozak via NANOG (Aug 08)
- Re: Speaking of DNS server software... Bryan Fields via NANOG (Aug 09)
- Re: Speaking of DNS server software... Mike Simpson via NANOG (Aug 09)
- Re: Speaking of DNS server software... William Herrin via NANOG (Aug 09)
- Re: Speaking of DNS server software... Etienne-Victor Depasquale via NANOG (Aug 10)
- Re: Speaking of DNS server software... Chris Woodfield via NANOG (Aug 10)
- Re: Speaking of DNS server software... Michael Crute via NANOG (Aug 10)
- Re: Speaking of DNS server software... Ryan Kozak via NANOG (Aug 10)
- Re: Speaking of DNS server software... Mike Crute via NANOG (Aug 10)
- Re: Speaking of DNS server software... Ryan Kozak via NANOG (Aug 11)
- Re: Speaking of DNS server software... William Herrin via NANOG (Aug 09)
- Re: Speaking of DNS server software... Etienne-Victor Depasquale via NANOG (Aug 10)
- Re: Speaking of DNS server software... William Herrin via NANOG (Aug 10)
- Re: Speaking of DNS server software... John Levine via NANOG (Aug 10)
- Re: Speaking of DNS server software... Ryan Hamel via NANOG (Aug 10)
- Re: Speaking of DNS server software... William Herrin via NANOG (Aug 10)
- Re: Speaking of DNS server software... Tom Beecher via NANOG (Aug 10)
- Re: Speaking of DNS server software... William Herrin via NANOG (Aug 10)
- Re: Speaking of DNS server software... Michael Thomas via NANOG (Aug 10)
- Re: Speaking of DNS server software... Randy Bush via NANOG (Aug 10)
