goauthentik / goauthentik/authentik

Backend performance tracking issue

Open
#24,564 2 comments 0 reactions 1 assignee Claimed by @rissson View on GitHub
area:backend area:infrastructure enhancement enhancement/confirmed
Dominant language
Python
Stars
25.6k
Forks
2k
Avg merge
1d 1h
Merged PRs (30d)
644

Description

This is a tracking issue for general performance improvements when want to make to our backend. This does not include endpoint or query specific improvements.

The list of things:

- [x] Move to Rust for the server and worker "entrypoints"
- Released in 2026.8
- [ ] Move the websockets handling from Python to Rust (to remove async code from Python)
- Requires e2e tests to be run against a full-fledged authentik instance for the websockets tests to pass
- planned for 2026.11
- [ ] Switch to freethreaded Python. Here's a list of things that need to happen simultaneously for that (apart from the things above that can be done before):
- [ ] Enable connection pooling in Django
- [ ] Switch our dev env and Docker images to freethreaded Python
- [ ] Write a custom WSGI converter that passes axum requests to Django WSGI app
- [ ] Refactor the PolicyEngine to use threads instead of processes
- [ ] Anything for the worker?
- planned for either 2026.11 or 2027.2, most likely the later due to breaking changes
- [ ] ???
- [ ] blog about this

Blockers:
- support for freethreading in dependencies:
- [ ] `lxml`: https://bugs.launchpad.net/lxml/+bug/2111289, planned for 7.0.0
- [ ] `xmlsec`: https://github.com/xmlsec/python-xmlsec/issues/427
- [ ] `protobuf`: https://github.com/protocolbuffers/protobuf/issues/23158 "end of year"
- [ ] `black`, `debugpy`, `pyroscope-io`: we don't really care for now

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.