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?