1

After upgrading from GeoServer 2.16.1 to 2.20.4 we noticed that large WFS-T requests are getting stuck.

We have a JS OpenLayers client that sends inserts/updates/deletes via WFS-T in chunks of 50 features (so we don't exceed max request size), which get applied to a single table on a PostGIS database. Both GeoServer and PostGIS are running in docker containers (kartoza/geoserver:2.20.4 and postgis/postgis:12-3.0-alpine).
Since updating, transactions with 50 features get stuck. Changing the chunksize to 20 'solves' the issue, but is much slower.

On version 2.16.1, the first chunk takes around 2s, and each following chunk ~0.5s.
On version 2.20.4, the first chunk takes 3.5s, and each following chunk ~2s.

Combined with changing chunk size to 20, saving changes now takes 5-10 times longer.

Were any settings added in recent GeoServer releases that might cause this? Or are there other settings we can play with to improve performance?

1
  • I've since also tried on version 2.19.2, which also has good performance.
    – b9s
    Commented May 16, 2022 at 9:38

1 Answer 1

1

May be related to this change: https://osgeo-org.atlassian.net/browse/GEOS-10265

I'm sure the change improved a lot large transactions with tends of thousands of insertions (from tens of minutes down to seconds).

At the datastore configuration, do you have:

  • Prepared statements enabled (important)
  • A large-ish batch size (e.g. 100 or more?) Both are important for sustained insertion performance.
2
  • Thanks. I've turned on prepared statements and increased batch size. The issue still remains though.
    – b9s
    Commented May 16, 2022 at 11:14
  • You might want to raise a bug report. Please make sure it contains way to reproduce: the table, enough data to see the slowness, and the client requests that make it happen. See osgeo-org.atlassian.net/projects/GEOS/summary Commented May 17, 2022 at 7:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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