sonatype-nexus-community / nexus-blobstore-google-cloud

Nexus Repository Manager Blobstore backed by Google Cloud Storage
https://help.sonatype.com/en/configuring-blob-stores.html#google-cloud-blob-store
Eclipse Public License 1.0
39 stars 16 forks source link

fix: remove last pathway that gzips content en route to bucket #57

Closed nblair closed 4 years ago

nblair commented 4 years ago

In #53, we found that disabling gzip compression unlocked some significant throughput gains. That change set left one remaining pathway where gzip compression would be performed by the google-cloud-storage dependency on blob content en route to the storage bucket.

The latest version of the google-cloud-storage dependency includes https://github.com/googleapis/java-storage/commit/65d3739567427e49ca4abfd39702fd4022ee8e3c, which allows us to turn off GZIP compression on that remaining pathway.

This pull request pulls in that new library version and makes the last change needed.

The result is a 200% increase in throughput (47.7 requests/sec compared to 23.5 in #53):

Screen Shot 2020-02-20 at 12 38 06 PM

Stackdriver Profiler confirms the reduction in CPU utilization, dropping the CPU time spent on handling client requests to/from the bucket from 18.5% down to 1.1%:

Screen Shot 2020-02-20 at 12 27 21 PM

Fixes #56 .