From b50121e71c77ae47da3017a978d22a1a84e01db8 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Tue, 30 Sep 2025 19:21:43 +0200 Subject: [PATCH 1/2] upgrade notes: explain performance benefits --- docs/content/en/open_source/upgrading/2.51.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/content/en/open_source/upgrading/2.51.md b/docs/content/en/open_source/upgrading/2.51.md index 973234698d6..67c77aee475 100644 --- a/docs/content/en/open_source/upgrading/2.51.md +++ b/docs/content/en/open_source/upgrading/2.51.md @@ -5,6 +5,16 @@ weight: -20250902 description: Helm chart changes and Postgres major version updates. --- +## Performance improvements + +This release includes multiple improvements aimed at making DefectDojo faster, more scalable, and lighter on your database and workers. + +- Import and reimport are significantly more efficient: product grading is now orchestrated in batches using Celery chords, reducing the number of background tasks and database churn during large scans. This means faster imports and smoother post-processing on busy systems. See [PR 12914](https://github.com/DefectDojo/django-DefectDojo/pull/12914). +- Query-count reductions and importer hot-path tuning: we trimmed unnecessary ORM calls and optimized how findings/endpoints are updated during (re)import. You should see noticeably quicker runs out of the box. See [PR 13182](https://github.com/DefectDojo/django-DefectDojo/pull/13182) and [PR 13152](https://github.com/DefectDojo/django-DefectDojo/pull/13152). +- Smarter background task orchestration and general cleanup: less duplicate work and better scheduling during heavy operations, keeping the UI responsive while long jobs run. See [PR 12900](https://github.com/DefectDojo/django-DefectDojo/pull/12900). + +No configuration changes are required—gains are automatic after upgrading. + ## Helm Chart Changes This release introduces several important changes to the Helm chart configuration: From 0928da1e78d5b224949a0f346049593c19082a4e Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Fri, 3 Oct 2025 22:17:26 +0200 Subject: [PATCH 2/2] add two prs --- docs/content/en/open_source/upgrading/2.51.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/content/en/open_source/upgrading/2.51.md b/docs/content/en/open_source/upgrading/2.51.md index 67c77aee475..e3cf71186cc 100644 --- a/docs/content/en/open_source/upgrading/2.51.md +++ b/docs/content/en/open_source/upgrading/2.51.md @@ -11,7 +11,9 @@ This release includes multiple improvements aimed at making DefectDojo faster, m - Import and reimport are significantly more efficient: product grading is now orchestrated in batches using Celery chords, reducing the number of background tasks and database churn during large scans. This means faster imports and smoother post-processing on busy systems. See [PR 12914](https://github.com/DefectDojo/django-DefectDojo/pull/12914). - Query-count reductions and importer hot-path tuning: we trimmed unnecessary ORM calls and optimized how findings/endpoints are updated during (re)import. You should see noticeably quicker runs out of the box. See [PR 13182](https://github.com/DefectDojo/django-DefectDojo/pull/13182) and [PR 13152](https://github.com/DefectDojo/django-DefectDojo/pull/13152). -- Smarter background task orchestration and general cleanup: less duplicate work and better scheduling during heavy operations, keeping the UI responsive while long jobs run. See [PR 12900](https://github.com/DefectDojo/django-DefectDojo/pull/12900). +- Smarter background task orchestration for product graing: less duplicate work and better scheduling during heavy operations, keeping the UI responsive while long jobs run. See [PR 12900](https://github.com/DefectDojo/django-DefectDojo/pull/12900). +- Bulk tag addition for large batches: adds an internal method to add tags to many findings at once, performing tagging in batches (default 1,000) with only a few queries per batch. This replaces ~3 queries per finding with ~3 queries per batch, significantly reducing DB load during imports, reimports, and bulk edit. On a ~10k-findings sample, import time dropped from ~372s to ~190s. See [PR 13285](https://github.com/DefectDojo/django-DefectDojo/pull/13285). +- Preparations for our switch to `django-pghistory` which provides more features and better performance compared to `django-auditlog`. See [PR 13169](https://github.com/DefectDojo/django-DefectDojo/pull/13169). No configuration changes are required—gains are automatic after upgrading.