Hi,
Please check this issue description: https://osgeo-org.atlassian.net/browse/GEOS-8017
So basically the idea is to stop using a global cached schema (for all the feature types) in WFS 1.1.0 but instead build a specific schema for each request using only the necessary feature types similar to what is done in WFS 2.0.0.
Another advantage is that we will also avoid the cost of building a global schema for all the feature types which can take some time when we have a lot of feature types.
I made some performance tests to measure the impact of this solution. I used two GeoServer instances:
-
NORMAL GEOSERVER - 8076 - normal GeoServer that ues a global cached schema
-
CHANGED GEOSERVER - 8075 - changed GeoServer that uses the solution described above
I used three (vector) layers for doing this tests:
- sf:roads - shipped with GeoServer release
- topp:roads - shipped with GeoServer release
- it.geosolutions:cache_test - please find it attached, shapefile with pints that have 30 attributes (integer, string and date)
Each layer features (MAX 3 features per request) were requested using WFS 1.1.0 and WFS 2.0.0 on each GeoServer instance (WFS 2.0.0 results can be used as control values). I run this tests using JMeter (please find the JMeter configuration attached), the results are as follows:
My conclusion is that the proposed solution has an insignificant performance penalty, the throughput is the same for all the cases. I also monitored the two GeoServer instances JVMs using VisualVM:
The CPU usage is a little bit higher in the changed instance and no memory leaks were detected.
Since the above solutions touches how schemas are generated I (try to) run the CITE tests for both instances. Long story short, I was no able to successfully run the tests suites that requires test data to be instantiated (lot’s of errors during the tests). The results are equal on both servers unfortunately with the same tests failed on both:
NORMAL SERVER:
CHANGED SERVER:
A pull request for this was made: https://github.com/geoserver/geoserver/pull/2140
Opinions on this ?
Kind regards,
Nuno Oliveira
(attachments)
cache_test.dbf (3.9 KB)
cache_test.shp (184 Bytes)
cache_test.shx (124 Bytes)
wfs-test.jmx (49.5 KB)
···
--
==
GeoServer Professional Services from the experts!
Visit [http://goo.gl/it488V](http://goo.gl/it488V) for more information.
==
Nuno Miguel Carvalho Oliveira
@nmcoliveira
Software Engineer
GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928
[http://www.geo-solutions.it](http://www.geo-solutions.it)
[http://twitter.com/geosolutions_it](http://twitter.com/geosolutions_it)
-------------------------------------------------------
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono
da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate
nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e
-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo
anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.
The information in this message and/or attachments, is intended solely for the attention and use of
the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree
June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying,
distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender does not give any warranty or accept liability as the content,
accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which
arise as a result of e-mail transmission, viruses, etc.