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

Ent: Package,IsDependency concurrent bulk ingestions #1440

Merged

Conversation

mrizzi
Copy link
Collaborator

@mrizzi mrizzi commented Oct 30, 2023

Description of the PR

Ent optimization done for bulk ingestion of Packages and IsDependency for the sake of "approving" the approach and then apply the same for all the remaining bulk ingestion implementations with Ent.

With current main branch, the ingestion of an SBOM (mainly about ingesting Package and IsDependency), from Postresql perspective, generates ~700 transactions/sec:

main_transactions

With this PR applied, the performance arrives at ~7000 transactions/sec:

PR_transactions

PR Checklist

  • All commits have a Developer Certificate of Origin (DCO) -- they are generated using -s flag to git commit.
  • All new changes are covered by tests
  • If GraphQL schema is changed, make generate has been run
  • If collectsub protobuf has been changed, make proto has been run
  • All CI checks are passing (tests and formatting)
  • All dependent PRs have already been merged

Signed-off-by: mrizzi <mrizzi@redhat.com>
@mrizzi mrizzi force-pushed the ent-concurrent-bulk-pkg-dep-ingestions branch from 82b304a to faa8a05 Compare October 30, 2023 13:39
Copy link
Contributor

@lumjjb lumjjb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work!!!! 🚀

@kodiakhq kodiakhq bot merged commit a20dbc7 into guacsec:main Oct 30, 2023
8 checks passed
@mrizzi mrizzi deleted the ent-concurrent-bulk-pkg-dep-ingestions branch October 30, 2023 14:53
mrizzi added a commit to mrizzi/guac that referenced this pull request Nov 10, 2023
mrizzi added a commit to trustification/guac that referenced this pull request Nov 10, 2023
* Ent - PackageVersion: added index for improving IsDependency ingestion (guacsec#1439)

Signed-off-by: mrizzi <mrizzi@redhat.com>

* Ent: Package,IsDependency concurrent bulk ingestions (guacsec#1440)

Signed-off-by: mrizzi <mrizzi@redhat.com>

* Ent - HasMetadata: fix ingesting same twice (guacsec#1392)

Signed-off-by: mrizzi <mrizzi@redhat.com>

* Ent - Vulnerability endpoints: applied concurrent approach

Signed-off-by: mrizzi <mrizzi@redhat.com>

* Ent implementation for use case #1-#2

Signed-off-by: mrizzi <mrizzi@redhat.com>

---------

Signed-off-by: mrizzi <mrizzi@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants