Skip to content

Improve cache upload speed

Erik Lindahl requested to merge (removed):improve_cache_upload_perf into master

What does this MR do?

It makes cache uploading 10x faster on high-speed networks.

Why was this MR needed?

The default net/http setup of enforcing compression in the HTTP transport leads to huge slowdowns for large file transfers. For this reason, other common Go packages (such as the Minio tools) also disable transport-layer compression this way.

What's the best way to test this MR?

The HTTP settings themselves are completely opaque to the rest of the code, it's just a setup option. The best way to confirm the speed improvement is to test a large cache file (~1GB) from a runner directly connected to an S3 cache repo through a 10/100 Gb network.

Another way of trusting it could arguably be that this change means GitLab-runner will use the same settings as Minio and other tools that have received a lot performance tuning and testing specifically for upload/download bandwidth.

What are the relevant issue numbers?

closes #25801 (closed)

Edited by Steve Xuereb

Merge request reports