Repository Size Calculation Performance Data
The repository size calculation test case evaluates performance when loading the the repository sizes displayed under Administration (cog icon) → Repository → Repositories. Sonatype introduced this feature in release 3.68.0, and it is only available for deployments using a PostgreSQL database.
Repository Size Performance Test Environment
All repository size calculation performance tests used the same Nexus Repository node, RDS instance (m5d.2xlarge), and PostgreSQL database containing ~3.2 million components (15 million assets). The instance had two types of repositories:
small repositories (~250MB) identified as maven-central-{number}
large repositories (~2.2GB) identified as maven-snapshot-{number}
Performance Results for Initializing Repository Size Calculations
During our performance testing, it took Nexus Repository the following lengths of time (in milliseconds) to calculate the sizes of given repository sets:
First 20 Repositories - 92,624ms
Second 20 Repositories - 92,311ms
Third 20 Repositories - 86,921ms
Fourth 2 Repositories - 149,855ms
This cumulates to a total 421,713 ms (421.71 seconds or 7.03 minutes) initial repository size calculation time. Notably, calculation time for 2 repositories was not any less than calculation time for 20 repositories.
Performance Results for Updating Repository Size
Performance testing for updating repository size returned the following results:
Repositories for which Size was Updated | Size Calculation Time (in milliseconds) |
---|---|
| 93,526 |
| 62,077 |
This resulted in a 77-second average size calculation time for updating repository size.