Description
Current Behavior
Hello,
I have deployed Dependency Track at my company, and it is widely used.
We may use it slightly differently than we're supposed to, please let me know if that's the case : although we have let's say a hundred projects in the company, there are around 4000 projects in dependency track, as our projects are very lively, and any new version published to Dependency Track is counted as a new project. We are obviously planning to cleanup the older projects that do not make much sense anymore.
Still, this is where we are. And we have upgraded from 4.11.2 to 4.12.3, and are experiencing performance issues :
- frontend takes a long time to load the project list
- API requests on the project list (api/v1/project?page=1&limit=100) also take a long time (between 15 and 45 secs)
- Used in conjunction with Jenkins Dependency Track plugin , publishing BOMs reaches timeout (although this is configurable, the performance issue also impacts this use case).
Deployed in the cloud, we have observed the pod/node metrics, but nothing really stands out (no huge CPU/RAM consumption, seems like IO waits may be in cause).
Yesterday, we tried to reboot everything, to get cleaner after the upgrade process.
It was better... for one day, and we considered it fixed.... until today, the performance issues came back.
It seems the database is using a lot more disk than before, do you have any experience with ~4000 projects, or an idea of what could explain the performance changes in the "recent" versions ?
Also, we've been wondering if the issue could be linked to the fact that the apiserver pod has been automatically killed several times during the upgrade process (readinessProbe delay was too low to withstand the upgrade progress) - few errors appear in the database log :
ERROR: duplicate key value violates unique constraint "CONFIGPROPERTY_U1" DETAIL: Key ("GROUPNAME", "PROPERTYNAME")=(artifact, bom.validation.mode) already exists
STATEMENT: select * from 'public.SCHEMAVERSION'; 2025-02-12 10:03:25.108 GMT [2812] ERROR: relation "public.schemaversion" does not exist at character 15
It doesn't seem to be big blocking errors, but still I'm not fond of ignoring them...
Any feedback, pointers on what could explain the situation, where to dig further, or what to do to improve things ?
Thanks !
Steps to Reproduce
Not so easy to reproduce, as the installation of the 4.12.3 version on a testing environment went smooth ! May have to do with the database load as there are not so many projects in the testing environment.
Expected Behavior
UI loads fast enough (sometimes may exceed 30 secs, which seems to be the frontend timeout) and interactions with Dependency Track are fluid enough.
Dependency-Track Version
4.12.3
Dependency-Track Distribution
Container Image
Database Server
PostgreSQL
Database Server Version
11.6.0
Browser
N/A
Checklist
- I have read and understand the contributing guidelines
- I have checked the existing issues for whether this defect was already reported
EDIT : At first, I said the upgrade was from 4.8.2 to 4.12.3, but actually it was from 4.11.2 to 4.12.3.