Fixed
Pinned fields
Click on the next to a field label to start pinning.
Details
Components
Assignee
Richard ChapmanRichard Chapman(Deactivated)Reporter
Gavin HallidayGavin HallidayPriority
Not specifiedFix versions
Details
Details
Components
Assignee
Richard Chapman
Richard Chapman(Deactivated)Reporter
Gavin Halliday
Gavin HallidayPriority
Fix versions
Created August 1, 2022 at 9:39 AM
Updated April 19, 2023 at 12:57 PM
Resolved April 19, 2023 at 12:57 PM
There are a few aspects of the cache warming that should be improved in the light of off-node storage:
The code to to ensure blocks are in the filecache does not explicitly control the size of data chunks being read. If the data is coming from a mounted blob storage that is likely to be inefficient. Better to explicitly read in 1/4MB chunks.
The code to prewarm indexes should read large chunks of memory and pass them to the prewarm function - which could directly use them. Likely to be much more efficient than lots of 8K reads.
Consider prewarming several files in parallel. May help if latency is a bigger issue than transfer speed.
Also, could the disk cache warming use splice(file, -> /dev/null) to avoid the data transfer into userspace? @Mark Kelly what do you think?
Update... I think I remember seeing this before that one of the arguments needs to be a pipe (hidden under the description of EINVAL). Not sure if we could still use it...