[Geoserver-users] Fine tuning of GeoServer (performance vs. quality)

Hi List,

I've been able to set up the WMS server and render a map and I now would like to have a better understanding of advanced settings. Regarding tuning of geoserver, I see two opposite objectives :
- performance (how fast my map is ready)
- output quality (how nice my map looks like)
Is there some customization options that have an important impact on performance/map quality?
Also, is there some design choice that may change performance? (maybe some output format take less time to be rendered than other or some styling options take long time to proceed)?

Regards,
Gilles

--
Gilles Bassiere
MAKINA CORPUS
30 rue des Jeuneurs
FR-75011 PARIS
http://www.makina-corpus.com

Hi Gilles,

This page includes some recommendations about how to run GeoServer in a
production environment to get the best performance.

http://docs.codehaus.org/display/GEOSDOC/4+GeoServer+in+Production+Environment

Past that, there have been some great work that has gone on recently to
support paletted images. This allows you to reduce the resulting image
size which increases performance with a minimal sacrifice in image
quality. More detail here:

http://docs.codehaus.org/display/GEOS/Paletted+images
http://docs.codehaus.org/display/GEOSDOC/Paletted+images+tutorial

In terms of a design choice... i guess the only one is that simpler
styles will render faster then complex ones. Things like labels,
filters, etc... in styles slow down the renderer.

Andrea can give you more information about what performance improvements
are coming in the future when he gets back from vacation.

-Justin

Gilles Bassière wrote:

Hi List,

I've been able to set up the WMS server and render a map and I now would
like to have a better understanding of advanced settings. Regarding
tuning of geoserver, I see two opposite objectives :
- performance (how fast my map is ready)
- output quality (how nice my map looks like)
Is there some customization options that have an important impact on
performance/map quality?
Also, is there some design choice that may change performance? (maybe
some output format take less time to be rendered than other or some
styling options take long time to proceed)?

Regards,
Gilles

--
Justin Deoliveira
The Open Planning Project
http://topp.openplans.org

Gilles Bassière ha scritto:

Hi List,

I've been able to set up the WMS server and render a map and I now would like to have a better understanding of advanced settings. Regarding tuning of geoserver, I see two opposite objectives :
- performance (how fast my map is ready)
- output quality (how nice my map looks like)
Is there some customization options that have an important impact on performance/map quality?
Also, is there some design choice that may change performance? (maybe some output format take less time to be rendered than other or some styling options take long time to proceed)?

By default GeoServer provides its best quality output at the cost of
bigger images. To have smaller images, and thus faster downloads
from a remote site, see:
http://docs.codehaus.org/display/GEOSDOC/Paletted+images+tutorial

As for design choices, there are a few things that slow down a map
generation significantly, and they are:
* labels (if you can, activate them only when the map is fairly zoomed
   in, or piecewise so that the clutter is not much) and halos.
* thick lines, 1 pixel wide lines draw significantly faster
* complex geometries, if possible try to activate detailed geometry
   layers only when fairly zoomed in. If you have to use the same layer
   when zoomed out too, consider creating generalized versions of it
   (postgis has a Douglas-Peuker based generalize routine you can use).
* attribute dependent symbolizer sizes, such as a line width
   proportional to some data property, and expressed as an expression
   of it (such as "size = sqrt(myattribute) / 10"), using multiple
   rules such as "myattribute < 10 -> size = 3" is usually faster.

Besides that, I can try to provide more hints if you can describe
more in detail what performance issues you're facing (GeoServer version,
datastore kind, data volumes and the like).

Cheers
Andrea