[GIS] ImagePyramid tuning in Geoserver

geoservergeotiff-tiffimage-pyramidsperformancewms

I am running several WMS layers from a GeoServer (2.2 RC3 at the moment of writing). All layers are ImagePyramids with sizes ranging from 100GB to 1TB in size.

I have read the GeoServer on Steroids several times and I'm probably missing half of it still. But there's a few things I'm wondering about.

My pyramids consists of 9-10 levels of GeoTIFF files, each level having 1/2 resolution of the previous. Each GeoTIFF has a file size with an average at around 8MB, a defined CRS and a size aspect ratio of 1:1.

  1. Is my TIFF file size inefficient?
  2. Will I get a performance boots by adding overview to my TIFF's?
  3. Will inner tiling increase performance?
  4. What could help me increase performance?
  5. What have you guys learned from your experiments with ImagePyramids in GeoServer?

1,3) In my view these two comes down to how a TIFF file is being handled in general and especially by GeoServer and I'm clueless here.

2) If I added overviews to my TIFF files my guess is that it corresponds to jump a level in the pyramid and thus I would only waste disk space?

Edit: Changed pyramid resolution from (the wrong) 1/4 to (the correct) 1/2. The pyramids are following the powers of 2 guidelines.

Best Answer

Your tiff file is definitely inefficient, files around 1-2GB are normally better since GeoServer won't have to open as many files to generate the output. Inner tiles help when you are zoomed in and need only to access a portion of the file. Having a 4 times jump between levels will improve disk occupation, but will also slow down image serving and also quality of the output.

The rest I already wrote in the presentation ;-)