Skip to content

Maven Virtual Registry: Performance review

🔭 Issues plan

  1. Maven Virtual Registry: Database models (#467972 - closed).
  2. Maven Virtual Registry: Permissions policy (#467977 - closed).
  3. Maven Virtual Registry: Registry models API (#467979 - closed).
  4. Maven Virtual Registry: Maven API endpoint (#467982 - closed).
  5. Maven Virtual Registry: Cache logic (#467983 - closed).
  6. Maven Registry: Cached responses destruction (#468113 - closed).
  7. Improve workhorse dependencyproxy logic (#461561 - closed).
  8. Maven Virtual Registry: Documentation (#468115 - closed).
  9. Maven Virtual Registry: Performance review (#468116 - closed). 👈 You're here.
  10. Maven Virtual Registry: feature flag cleanup (#468117).

🗒 Description

Perform a performance analysis on the Maven Virtual Registry.

We have 3 clients to look at: $ mvn, $ gradle and $ sbt.

For each client, it is suggested to:

  1. Find a dummy project with a reasonable amount of dependencies. Example for $ mvn.
  2. Configure a CI job that will simply pull all the dependencies.
  3. Get the baseline performance (eg. not using the virtual registry).
  4. Configure a virtual registry to get all dependencies through it and measure:
    • With a cold cache (virtual registry empty).
    • With a warm cache (virtual registry filled with all the requested files).

Expectations:

  • Cold cache measure should be higher than the baseline but that difference should be as small as possible.
  • Warm cache measure should be lower than the Cold cache measure.
  • Warm cache measure should be closer or even better (ideal) than the baseline.
Edited by David Fernandez