Recalculate Blob Store Storage Task Performance Testing
In Sonatype Nexus Repository 3.69.0, we introduced the Repair - Recalculate blob store storage task that calculates the total space occupied by blobs in a blob store. We are providing the performance testing information below to help you appropriately plan and allocate resources for using this task.
Environment Configuration
The performance testing environment for testing the Repair - Recalculate blob store storage task included the following:
m5d.2xlarge EC2 Instance
An S3 bucket used to store assets
A Gatling script used to populate assets
Blob store containing 6 million blobs
Collected Data
Sonatype collected the following findings when running the Repair - Recalculate blob store storage task for 7 hours:
Task processes ~11 blobs per second
After 7 hours, the task had counted ~280,000 blobs
Processing speed was consistent throughout entire test duration
Conclusions and Performance Projections
The Repair - Recalculate blob store size task runs at a constant processing rate, allowing us to make the following projections for processing times:
Projected processing time for 5 million blobs - 126 hours (5.2 days)
Projected processing time for 20 million blobs - 505 hours (21 days)
Given the lengthy processing time for running this task, it may not be appropriate for very large blob stores.
Note that a user cannot stop the task once it has started.
The blob count and total size will update constantly while the task runs, so values will appear incorrect until the task completes.