nanog mailing list archives
Re: Speaking of DNS server software...
From: Mike Crute via NANOG <nanog () lists nanog org>
Date: Sun, 10 Aug 2025 20:13:19 -0700
On Mon, Aug 11, 2025 at 02:34:56AM +0000, Ryan Kozak wrote:
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.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.
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 _______________________________________________NANOG mailing list https://lists.nanog.org/archives/list/nanog () lists nanog org/message/KQTA74AOY5ZK76DX5B73MF7K5HIBN4AO/
Current thread:
- Re: Speaking of DNS server software..., (continued)
- Re: Speaking of DNS server software... Endre Szabo via NANOG (Aug 12)
- 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)
