zenodo / zenodo-rdm

Zenodo, powered by InvenioRDM
https://zenodo.org
GNU General Public License v2.0
64 stars 29 forks source link

Setup storage paths for reading tiled image files to be served by IIP Server #826

Closed slint closed 5 months ago

slint commented 7 months ago

Since IIP Server requires having direct access to the filesystem, our options are either:

Hybrid/on-demand approach

There's also a possibility for a hybrid/on-demand solution (see relevant comment) where there's a small application layer in front of the IIP Server that checks if the tiled image file exists in the locally mounted volume, and if not, fetches it from the primary storage location. This should also take measures against any dogpile effect, since when e.g. loading an IIIF previewer we immediately would get multiple requests for all tiles of an image.

slint commented 7 months ago

Some preliminary tests by testing a resize to 250px for all images through an IIP Server running on OpenShift to compare SSD vs non-SSD storage, show a difference of 4-10x performance depending on the workflow/image:

$ tail normal-results.txt ssd-results.txt
==> normal-results.txt <==
Total time: 201.84 seconds
Average time: .2020 seconds

==> ssd-results.txt <==
Total time: 49.08 seconds
Average time: .0491 seconds

In any case, we'll need a more representative set of benchmarks, like e.g. the methodology described at the "IV. Experiment #2 – Image Delivery" section of https://journal.code4lib.org/articles/15217 .