From 86264ef90001f7d92a4dae1b19c832ab87156230 Mon Sep 17 00:00:00 2001 From: Benoit Chesneau Date: Sun, 1 Feb 2026 08:32:46 +0100 Subject: [PATCH] docs: add per-app worker allocation to 25.0.0 changelog --- docs/content/2026-news.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/content/2026-news.md b/docs/content/2026-news.md index 009d4a16..9786a1e8 100644 --- a/docs/content/2026-news.md +++ b/docs/content/2026-news.md @@ -16,6 +16,15 @@ - Lifecycle hooks: `on_dirty_starting`, `dirty_post_fork`, `dirty_worker_init`, `dirty_worker_exit` +- **Per-App Worker Allocation for Dirty Arbiters**: Control how many dirty workers + load each app for memory optimization with heavy models + ([PR #3473](https://github.com/benoitc/gunicorn/pull/3473)) + - Set `workers` class attribute on DirtyApp (e.g., `workers = 2`) + - Or use config format `module:class:N` (e.g., `myapp:HeavyModel:2`) + - Requests automatically routed to workers with the target app + - New exception `DirtyNoWorkersAvailableError` for graceful error handling + - Example: 8 workers × 10GB model = 80GB → with `workers=2`: 20GB (75% savings) + - **HTTP/2 Support (Beta)**: Native HTTP/2 (RFC 7540) support for improved performance with modern clients ([PR #3468](https://github.com/benoitc/gunicorn/pull/3468)) - Multiplexed streams over a single connection