Replies: 2 comments 3 replies
-
Depends how your COG is (e.g internal block size, overview number, ...)
Dynamic tiling will always be slower than just having the tile pre-created but we usually
I'll add an option in the endpoint to pass rasterio Env option as in so you can pass an rasterio AWSSession object which should reduce the latency a bit |
Beta Was this translation helpful? Give feedback.
-
@vincentsarago this discussion touches on something I've been wondering about for a while. If I had a well-prepared but non-geospatial TIFF (it has internal tiles, overviews, etc.) and I used an annotation to warp it as demonstrated in this repo, could titiler-image perform as well with that file as with a GeoTIFF? In other words, does the warping that must happen on the fly when tiling a non-geo image slow down tile generation, or should I expect this to be a negligible difference? I realize this may just be an unexplored question, but figured I would ask in case you have some idea already. I like the idea of titiler-image working as a standard IIIF server and XYZ tile server. |
Beta Was this translation helpful? Give feedback.
-
Hi! @vincentsarago 👋
This project has been very helpful in meeting my use case for a dynamic tiler of a dataset of images which are not georeferenced.
I have been toying around with it and have found it to function well!
I have been using the LocalTilerFactory and it has shown fine latency on the satelite dataset I have (COG dataset on S3, returned as .jpg tile(is there a faster option?), streaming a zoomin tile takes ~100ms, full zoomout about ~400ms),
And to elaborate I have a very basic usage of the api - reading the tiles of the image in various zooms and rescaling it to fit to browser
But I do want to make adjustments that will allow me to shave as much time as possible to hopefully meet my target time (and obviously latency is just one performance consideration I am keen on optimizing as such with throughput and use case dependant performance)
So I would much appreciate guidance on how can I adapt and tune the tiler for better performance
For clarification, I have read this very helpful "Performance Tuning" guide and used the helpful key points it suggested https://developmentseed.org/titiler/advanced/performance_tuning/
I know much of the performance I can eke out depends on how I deploy the tiler (uvicorn on K8S) so any tips or suggestions both on deployment side of things and on adapting and modifying the tiler project itself (or extending around it) would be very much of help!!
Oh and one more thing, I have tried profiling titiler-image to find areas to improve performance and meanwhile have found that some of the latency comes from the rasterIO env being recreated on every request (when using rasterio.open, although the s3 account never changes), and I wonder the capability and effect of changing this behaviour(?) or any other step of the
Thanks in advance :)
Beta Was this translation helpful? Give feedback.
All reactions