S3 performance issue



Just started using S3 for Nexus blob storage. My instance and bucket are both in the same region. I’ve noticed a significant decrease in performance between S3 and EBS. My setup is as follows:

Using 3.15.2-01 OSS

Each of the following use EBS blob store:

  • npm hosted repo: npm-test
  • npm proxy repo: npm-test-proxy (proxying npmjs.org)
  • npm group repo: npm-test-group (includes the above two)

Each of the following use S3 blob store:

  • npm hosted repo: npm-test2
  • npm proxy repo: npm-test2-proxy (proxying npmjs.org)
  • npm group repo: npm-test2-group (includes the above two)

The EC2 instance is a c4.xlarge.

I manually published an npm package and its custom dependencies (i.e. those not available on npmjs.org) to npm-test and npm-test2. The package also has dependencies from npmjs.org.

Average npm install results are:

  • npm-test-group: 9-12 seconds
  • npm-test2-group: 34-37 seconds

The connection between the EC2 instance and the bucket uses Assumed Roles to connect, so no security config was needed on the Nexus side.

Is this kind of performance degradation known by Sonatype? Any recommendations?




You’re not going to get the same performance from s3 as you will for EBS. This is due to the speed of those file systems, there isn’t anything we can do about it in Nexus Repo. S3 is reliable and cheap, but the tradeoff is speed. It is significantly slower than EFS, which is itself significantly slower than EBS).



Yeah, I hear ya. I asked around right after I posted this and got the same answer. Thanks for the response, though!