fix(server): disable sharp file caching #6542
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
sharp / libvips holds up to 20 files open as part of its operation cache by default (see here). This has a dramatic effect on RAM consumption, especially in the case of RAW files. There's normally a 50mb limit on the cache, so I'm not sure if this is expected behavior.
This change will most likely not have an effect on performance since we process each thumbnail of each asset at different times, so the original image will have been evicted from the cache by the time we generate another thumbnail for it.
Should fix #4391
How Has This Been Tested?
I uploaded a number of RAW images with and without this change multiple times, force deleting the images in-between each run so they were reprocessed. WIthout this change, the container's memory usage increased dramatically with each image, using several gigabytes of memory after a handful of images. With this change, there was still an increase, but the increase was on the order of a few hundred megabytes and stabilized.