what's the recommended tps for SBOM upload #3818
-
Hello, We've trying to use DT in a batch mode: meaning we upload a lot of SBOM files and then we wait for the processing to be done... but I think we're causing a bottleneck :( Thank you very much for your help! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 8 replies
-
It's very hard if not impossible to provide one-size-fits-all recommendations. The symptom you're experiencing is one of the reasons we started working on Hyades, which eventually will become Dependency-Track v5. We wrote about this particular issue here: https://github.com/DependencyTrack/hyades/blob/main/WTF.md#why Still, you can improve the current situation, but you will need to start monitoring application metrics, otherwise you'll be blind to where the actual limitation lies. We support exposition of Prometheus metrics, and provide an example Grafana dashboard that you can use: https://docs.dependencytrack.org/getting-started/monitoring/#grafana-dashboard For a start, have a look at the eventing metrics: You'll likely see high numbers of Events Queued and a constantly saturated Active Worker Threads. Depending on how large you worker pool is at the moment, you can try increasing it and see if it helps: dependency-track/src/main/resources/application.properties Lines 3 to 19 in b3f96ea For example, you can pass the following environment variable to increase the worker threads to 32:
You should be catious with this though, as more concurrency can cause more load / contention on the database as well. Have an eye on the CPU / memory and database metrics on the dashboard as well. Separately, in DT v4.11 we introduced a new way of processing uploaded BOMs, which is significantly faster / more efficient. You can enable it under Configuration -> Experimental -> BOM Processing V2 in the settings. It will become the default in DT v4.12. |
Beta Was this translation helpful? Give feedback.
It's very hard if not impossible to provide one-size-fits-all recommendations.
The symptom you're experiencing is one of the reasons we started working on Hyades, which eventually will become Dependency-Track v5. We wrote about this particular issue here: https://github.com/DependencyTrack/hyades/blob/main/WTF.md#why
Still, you can improve the current situation, but you will need to start monitoring application metrics, otherwise you'll be blind to where the actual limitation lies. We support exposition of Prometheus metrics, and provide an example Grafana dashboard that you can use: https://docs.dependencytrack.org/getting-started/monitoring/#grafana-dashboard
For a start, have a look at…