0

I've set up NXRM 3.14 with a ceph (S3 compatible) blobstore back-end. I've been testing it both on physical hardware and inside a docker container.

It "works" but is much, much slower than uploading directly to the bucket (a 2 second upload directly to the bucket may take 2 minutes through NXRM)

I haven't found any bugs or complaints about this, so I'm guessing it's specific to ceph and that the performance may be fine with S3. Uploads to the local filesystem are also very fast.

I've found nothing in the log files to indicate performance problems.

Sorry this question is extremely vague, but does anyone have recommendations for debugging NXRM performance or maybe is anyone using a similar setup? Thanks.

Kendall Trego
  • 1,975
  • 13
  • 21

1 Answers1

1

I eventually tracked this down in the NXRM open source code, the current MultipartUploader is single threaded (https://github.com/sonatype/nexus-public/blob/master/plugins/nexus-blobstore-s3/src/main/java/org/sonatype/nexus/blobstore/s3/internal/MultipartUploader.java) and uploads chunks sequentially.

For files larger than 5mb, this introduces a considerable slowdown in upload times.

I've submitted an improvement suggestion on their issue tracker: https://issues.sonatype.org/browse/NEXUS-19566

Kendall Trego
  • 1,975
  • 13
  • 21