Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow ingestion of large SBOMs #1119

Open
dejanb opened this issue Dec 23, 2024 · 2 comments
Open

Slow ingestion of large SBOMs #1119

dejanb opened this issue Dec 23, 2024 · 2 comments
Assignees

Comments

@dejanb
Copy link
Contributor

dejanb commented Dec 23, 2024

I was trying locally to ingest some of the larger sboms and noticed a couple of things we need to take a look at:

  1. Current performance tests don't cover the whole process of sbom ingestion. For example there are no coverage of analysis graph during ingestion which seems to have a big impact on the performance. @JimFuller-RedHat

The test shown here
6a29f8f

with and without commented out graph show the difference

without graph: INFO fundamental::sbom::spdx::perf: ingest: 1m 15s 769ms 403us 459ns
with graph: INFO fundamental::sbom::spdx::perf: ingest: 13m 7s 669ms 187us 167ns  
  1. The current examples of large files don't work without fixing package relationships. Is this something we need to consider for the regular code paths as well? I'm currently using the latest openshift and rhel sboms, which work fine. @ctron
@JimFuller-RedHat
Copy link
Collaborator

ya, there is optimisations we can do for ingestion - I would rather do that after we do any further changes to analysis graph (which is solidifying fast).

@ctron
Copy link
Contributor

ctron commented Jan 20, 2025

I'd assume that one bigger improvement we could do is the way the graph is populated. Right now, it's reading nodes by manifesting relationships. Meaning, a lot of joins. We could however split this up into reading nodes and relationships independently. Doing the join in-memory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants