zot version
v2.1.2
Describe the bug
We've identified a significant performance bottleneck in the image store layer due to a global lock. This lock appears to be causing excessive contention and dramatically impacting overall system performance. Especially during GC period
To reproduce
- Enable GC and image retention
- Create a lot of ephemeral image
- Observe any request took 10s latency
Expected behavior
Single lock per repo
Screenshots
No response
Additional context
Code reference: https://github.com/project-zot/zot/blob/main/pkg/storage/imagestore/imagestore.go#L45
Image store use a single mutex object and it is called a lot
zot version
v2.1.2
Describe the bug
We've identified a significant performance bottleneck in the image store layer due to a global lock. This lock appears to be causing excessive contention and dramatically impacting overall system performance. Especially during GC period
To reproduce
Expected behavior
Single lock per repo
Screenshots
No response
Additional context
Code reference: https://github.com/project-zot/zot/blob/main/pkg/storage/imagestore/imagestore.go#L45
Image store use a single mutex object and it is called a lot