I have a Geoserver installation which I am using to serve a large area of 2m LiDAR DSM as a Web Coverage Service (WCS). I'm finding the performance is pretty slow (at least when using the WCS in QGIS) and am looking for advice on tuning it or in case I've misconfigured something.

I'm not particularly familiar with WCS. The bbox of the data is about 100km by 70km. I expect the response to be very slow at small scales and thus have only been testing it when at high zoom levels, but it is still ~1 or ~2 mins a query and can't handle concurrent queries.

I've configured the data as an ImageMosaic store of ~3000 geotiffs granules. Each tif covers 1km and was configured with the -co "TILED=YES" -co "BLOCKXSIZE=512" -co "BLOCKYSIZE=512" parameters in GDAL when they were created. I just use the default generated index and properties file when I load these as an ImageMosaic in Geoserver.

Each granule is about 2 mb so I would've thought if calling getCoverage for a few tens of these shouldn't really lock up the server up very along.

The server is Ubuntu, Geoserver 2.5.1, 3gb ram,

The tomcat settings are:

JAVA_OPTS="-Djava.awt.headless=true -Xms1024m -Xmx1024m XX:PermSize=128m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC"

Am I expecting too much? Is there anything else I could tweak to improve performance?

  • 3
    That GeoServer is too old, you should try with GeoServer 2.8.2, it has got a few improvements for WCS extractions – Andrea Aime Mar 22 '16 at 15:42
  • OK, that's good to know. Makes sense as my version is long overview an update. I will try installing another version. – Julian Rosser Mar 24 '16 at 9:44
  • What you are doing will never scale as in most requests you will try to load too many files. There are similar discussions on what do with such a large number of files (WMS or WCS), check other discussions here on stackexchange, I would suggest to check them; one is geoserver.geo-solutions.it/edu/en/adv_gsconfig/auditing.html – simogeo Apr 7 '16 at 17:41
  • I realise that usage of this kind of configuration for WCS by end human users wouldn't scale as many individuals can request many file loads. However, the end use-case for me is actually automated requests (made by a WPS) which will be restricted to WCS queries with bounding boxes of a few sq. km. For a use case like this, many granules with areas approximating the request extent is presumably closer to being an optimal serving strategy? I've upgraded to ver 2.8.3 and am currently experimenting – Julian Rosser Apr 11 '16 at 11:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.