Skip to main content

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.

  • At this throughput, we achieved our target success rate, exceeding successful responses for more than 99% of requests.

  • 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 forsonatype-workdirectories

  • 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

Graph of per-node CPU use

RDS CPU Use

RDS CPU Use graph

Nodes Network I/O

155615364.png

Estimated Active Connections (ELB)

Estimated Active Connections (ELB) graph

HTTP Backend Response Codes (ELB)

HTTP Backend Response Codes

Estimated Processed Bytes (ELB)

Estimated Processed Bytes (ELB)

Conclusion

Sonatype Nexus Repository's AWS HA solution achieved a throughput of 400 RPS with successful responses for >99% of requests. However, the anticipated cost for maintaining the significant deployment required to achieve HA is high and therefore not appropriate for most customers.