distribution/registry
Milos Gajdos b888b14b39
Optimise push in S3 driver
This commit cleans up and attempts to optimise the performance of image push in S3 driver.
There are 2 main changes:
* we refactor the S3 driver Writer where instead of using separate bytes
  slices for ready and pending parts which get constantly appended data
  into them causing unnecessary allocations we use optimised bytes
  buffers; we make sure these are used efficiently when written to.
* we introduce a memory pool that is used for allocating the byte
  buffers introduced above

These changes should alleviate high memory pressure on the push path to S3.

Co-authored-by: Cory Snider <corhere@gmail.com>
Signed-off-by: Milos Gajdos <milosthegajdos@gmail.com>
2023-09-27 21:33:22 +01:00
..
api registry/api/errcode: split Register to internal / exported 2023-09-04 18:03:00 +02:00
auth ignore SA1019: ac.(*accessController).rootCerts.Subjects has been deprecated 2023-05-09 16:04:17 +02:00
client Merge pull request #4040 from thaJeztah/move_api_errors 2023-09-15 09:36:36 +01:00
handlers Merge pull request #4040 from thaJeztah/move_api_errors 2023-09-15 09:36:36 +01:00
listener Improve socket-activation message 2023-09-20 10:31:02 -07:00
middleware Merge pull request #2752 from davidswu/registry-driver-middleware 2023-06-21 10:06:13 -07:00
proxy avoid redundant blob fetching 2023-09-18 10:40:25 +08:00
storage Optimise push in S3 driver 2023-09-27 21:33:22 +01:00
doc.go Move initialization code from main.go to the registry package 2015-09-09 14:39:31 -07:00
registry.go Remove bugsnag 2023-08-21 10:24:36 +02:00
registry_test.go Enable bodyclose linter 2023-08-19 09:45:44 +01:00
root.go feat(storage)!: remove schema1 except manifeststore_test 2023-08-28 12:44:46 +02:00