I have a GeoServer instance, which is only used as a WMS service.

Reading the docs, there are libraries, which can be used to boost WMS ouput generation:

  • native JAI and ImageIO
  • libjpeg-turbo

I have some questions regarding these libraries. I am mainly interested in performance gains when serving JPEG image tiles from raster data:

  1. Should I install all of them and will this result in the fastest WMS output generation?
  2. If not, which one is recommended?
  3. If I use JAI-EXT, should I also install native JAI and ImageIO?
  4. Will these libraries also have an impact on serving PNG image tiles from vector data?

I realise that when serving raster data, the biggest difference, performance wise, is to use tile caching and to properly prepare the source data (i.e. create GeoTiffs with internal tiling and overviews etc.), but my question is only about WMS output generation.

  • Welcome to GIS SE! As a new user be sure to take the Tour where you will see that there should be only one question asked per question under our focussed Q&A format. Since you have already received and accepted an answer, there is no need to do anything as a result of your question being placed On Hold. The reason that is done is so that later new users seeing your multiple questions in a question, will see that normally to get any of them answered will require them to ask only one question at a time. – PolyGeo Sep 15 '17 at 5:22

The two you need are native JAI and libjpeg-turbo.

Native ImageIO is useless once you have libjpeg-turbo, as it only provides a faster than JDK JPEG encoder, but libjpeg-turbo is even faster.

JaiExt has NODATA handling, however for the time being, you pay that extra feature with a slowdown in performance compared to JAI (the plan is to optimize it until it's faster than JAI, but it will take time).

Not the answer you're looking for? Browse other questions tagged or ask your own question.