geoserver performance regressions?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

geoserver performance regressions?

Niels Charlier

While working with a client, we discovered that - at least for us - more recent geoservers perform considerably worse than geoserver 2.10.1. We were wondering if there is anybody who has experienced similar issues and/or has an idea what this could be related to.

Here is what we did:

We have recently upgraded our Geoserver to version 2.11.2 in combination with some other changes in our setup. To evaluate both setups in terms of performance we use Spatineo performance testing. This services issues a number of concurrent WMS/WFS calls to our cluster and monitors response times, timeouts and errors. Using the same test (104 requests/s over a period of 10 minutes, with a 10 minute warmup time) on both setups we can compare their performance. In order to determine the source of the performance decrease, we reverted all of our changes between the setups and are now left with two identical setups (see below) apart from the Geoserver version. Unfortunately the performance tests still show a significant performance decrease, which we now believe to be within Geoserver itself, between version 2.10.1 and 2.11.2.

Setup with Geoserver 2.10.1: first errors start at second 400 of the test at ca. 70 requests/s:

(bright red are errors, dark red are timeouts after 60 seconds)

 

 

Setup with Geoserver 2.11.2: first errors start at second 280 of the test at ca. 50 requests/s:

We have repeated the tests several times to confirm the difference. The logs seem to suggest that geoserver runs out of connections for our POSTGIS layers (see below for details on the layers).
java.lang.RuntimeException: Unable to obtain connection: Cannot get a connection, pool error Timeout waiting for idle object at org.geotools.jdbc.JDBCDataStore.createConnection(JDBCDataStore.java:2171) 
- This issue doesn't occur for the same layers, database and setup in geoserver 2.10.1.

We then upgraded to version 2.12.2 to verify the regression is still present in the latest version. Unfortunately the tests reveal yet another performance decrease.

Setup with Geoserver 2.12.2: first errors start at second 240 of test at ca. 42 requests/s:

The same connection issues occur. Additionally, another exception is logged related to our raster layers (see below for details on the layers):

java.lang.ArithmeticException: / by zero at com.sun.media.jai.util.Rational.ceil(Rational.java:242) at 
org.geotools.renderer.lite.gridcoverage2d.GridCoverageRendererUtilities.layoutHelper(GridCoverageRendererUtilities.java:268) 

          

 

Details of our setup:

We currently use a 4 node Geoserver cluster with data directories on local persistent storage. One of the nodes is considered the master node and is used for all configuration (via the web and rest interfaces). The data directory of the master node is synced to the three slave nodes with rsync (in cron), which are triggered to reload if anything changes. The slave nodes are used for WMS/WFS/WCS access only. Each node has the following setup:

  - Ubuntu 16.04.1

  - Oracle Java 1.8.0

  - Apache Tomcat 8

  - 4x CPU 2800 Mhz

  - 8GB RAM

 

Details of performance test:

  - 10 minute warmup from 0 to 104 requests/s followed by 10 minute load test at 104 requests/s

  - breakdown of the 104 requests/s:

      - 2 requests/s WMS GetCapabilities (ca. 800 layers)

      - 17 requests/s WMS GetMap (heavy polygon layer, random bbox, PostGIS source, 256x256 PNG output)

      - 17 requests/s WMS GetMap (light point layer, random bbox, PostGIS source, 800x600 PNG output)

      - 17 requests/s WMS GetMap (light polygon layer, random bbox, PostGIS source, 256x256 PNG output)

      - 17 requests/s WMS GetMap (large raster layer (13GB), random bbox, Geotiff source on local storage (4x), 256x256 PNG output)

      - 17 requests/s WFS GetFeature (light point layer, random bbox, PostGIS source, 3 features, GML2 output)

      - 17 requests/s WFS GetFeatue (light point layer, random bbox, PostGIS source, 3 features, GML2 output)

 


Kind Regards

Niels


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this list:
- Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users