Sonatype Nexus Repository High Availability Performance Data Using AWS
For full transparency and to help you evaluate whether a High Availability (HA) Sonatype Nexus Repository deployment is right for your organization, we are providing findings from our internal performance testing.
Test Focus and Limitations
Sonatype’s internal platform and expertise is in Amazon Web Services. All of the results detailed below have been gathered in Amazon Web Services deployments. We do not have our own datacenter or dedicated hardware hosts aside from our engineers’ personal development environments.
Our focus for the internal stress testing was to validate the stability of our product in a common deployment scenario.
Summary of Findings
We are able to consistently achieve aggregate throughput of 400 requests per second (RPS) for a hybrid workload spread amongst a number of supported content formats.
From our product analytics, this throughput exceeds 10 times the daily average workloads for an estimated 97% of Nexus Repository deployments.
You may achieve lower or greater RPS depending on your workload. Formats with larger assets (e.g., Docker) may see lower RPS, while formats with smaller assets (e.g., Maven, NuGet, and npm) may see higher RPS.
Test Environment
The target environment for this test was constructed as follows:
5 Amazon EC2 m5d.2xlarge instances
8 vCPU, 32 GB RAM
Each using EBS local storage for
sonatype-work
directories
1 AWS S3 bucket
Used to create 1 S3 backed blobstore for all repositories in the test to use
1 Amazon RDS PostgreSQL deployment
Backed by db.r5.xlarge (4 vCPU, 32GB RAM)
Discussion
At the scale described above, the EC2 instances and the database are modestly utilized (30-50%).
The single S3 blobstore is the limiting factor; multiple blobstores or different technologies are required to push higher RPS.
This is a significant deployment scale that most customers do not need to consider.
Per the Amazon Calculator, the cost for operating this hardware would total around $60,000 USD annually.
For customers that exceed these throughput thresholds, individualized analysis of available technology is needed.
Successful deployments at higher scale or with other technology platforms requires our customers having significant in-house expertise.
Resources Use Sample
The next graphs reflect a sample of the resource use for one of our tests. All tests showed similar behavior, so this information is a good reference for the general behavior of a system under the tested conditions.
Per-Node CPU Use
RDS CPU Use
Nodes Network I/O
Estimated Active Connections (ELB)
HTTP Backend Response Codes (ELB)
Estimated Processed Bytes (ELB)
Conclusion
Sonatype Nexus Repository's AWS HA solution achieved a throughput of 400 RPS. However, the anticipated cost for maintaining the significant deployment required to achieve HA is high and therefore not appropriate for most customers.