Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • lava lava
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 96
    • Issues 96
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 65
    • Merge requests 65
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • lava
  • lavalava
  • Issues
  • #532

Closed
Open
Created Mar 24, 2022 by Paweł Wieczorek@pawieczContributor0 of 4 tasks completed0/4 tasks

RFC: Add benchmarks to the CI pipeline

This is follow-up to #521.

Context: LAVA documentation provides advice for growing the lab. Recent patches that reduce SQL query count (/scheduler, /results) include information on efficiency improvements. Adding performance tracking to the CI pipeline could help estimating the impact of the future patches on system's scalability.

Steps to add benchmarks:

  • Mock environment closely resembling predicted workload (in progress as #521; still needs tuning)
  • Store mocked environment for reuse (see details below)
  • Load mocked environment for benchmark run (see details below)
  • Execute benchmarks in the mocked environment (or its temporary copy; see dummy-db-api-benchmark)

Storing mocked environment might be useful due to the time required for its generation (~1.5h) compared to the time needed to load pre-generated one (under 5 minutes). After initial tuning it would probably rarely change (unless there are changes to the database schema). It would be convinent to have this environment generated by the CI pipeline but high cost of this operation calls for strict rules when the environment should be regenerated.

Loading mocked environment could be done in a similar manner to the official PostgreSQL image init files processing or built in ci-images. The latter option would be easier to implement but would break tools/data separation on containers in use.

Please let me know what is the LAVA team's view at this topic.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking