Improve WMS Server Performance

Matthew Perry perrygeo at GMAIL.COM
Sun Feb 5 15:27:54 PST 2006


Hey Kyle,

  What format is the image you're using? If it's JPG or another
compressed format, you'll likely see a huge increase in speed by
converting that to a TIFF. It will eat up disc space but will be much
much faster to render.

 As far as gdaladdo, for an image that big I would try to build up to
1/256 if posssible... ie gdaladdo -r average 2 4 8 16 32 64 128 256 .
Mapserver will automatically recognize these overviews. As far as
other programs, that is up to the developer to implement it. If you
time your mapserver request at the full extent before and after you
should notice a big difference.

 Do you expect people will be viewing the image from a wide range of
scales or will they always be zoomed out? If you've frequently viewing
small portions of the image at a time, it might make sense to break
the image up into multiple tiles using gdal_translate with the
-projwin option then creating a tile index on the tiles with
gdaltindex. This way mapserver only needs to load the tiles in view
rather than the entire image.

Hope this helps a bit. Let us know how it works for you and enjoy the
game.. kick off in few minutes...

Matt Perry



On 2/5/06, Kyle Mulka <mulka at umich.edu> wrote:
> Hi Mapserver folks!
>
> I have these huge (20,000px by 10,000px approx.) aerial images that I
> want to figure out how to turn into a reletively speedy WMS server.
>
> I've got all the basics down. I mean, it already works, but is really
> slow. It takes up to a few minutes to generate a single image. I want it
> to take less than a few seconds. It would be nice if the WMS was as
> speedy as Google Maps itself, but I do caching outside the context of
> mapserver to make that happen. I just want to make the WMS fast. It
> would be nice if there was a completely automated way of speeding up
> raster map serving. Is there?
>
> I think the information I need would fit in the documentation here under
> Preprocessing-rasters:
> http://mapserver.gis.umn.edu/docs/howto/raster_data/#preprocessing-rasters
>
> I've read through the mapserver performance tips, but I'm running into a
> few problems. You can follow along in section 10 on that same link.
>
> One program I've looked at is gdaladdo: How do I test to make sure
> overlays are in fact being used? How do I know what levels of overlays
> to create? How do I systematically test performance so that I know what
> I'm doing to the images is a good use of my, and my computers processing
> time?
>
> Another method I've looked into is tiling and using the tileindex
> mechanism of the map file. I haven't found a good tutorial on how to
> take one image and tile it into a whole bunch of smaller images all
> while keeping each georeferenced correctly. It would be great if someone
> could point me in the right direction.
>
> The images are in the correct projection already fortunately. So, no
> need to warp.
>
> I wonder if I could reduce the quality of the images slightly to improve
> performance.
>
> Alright... time to watch the super bowl. Enjoy the game and commercials
> everyone!
>
> --
> Kyle Mulka
> Computer Science in Engineering
> University of Michigan
> http://maps.kylemulka.com
>

--
Matt Perry
perrygeo at gmail.com
http://www.perrygeo.net



More information about the MapServer-users mailing list