In development we are currently using GeoServer 2.7.2 so I turned on the flag
to enforce the usage of the spatial index. I checked our Geoserver 2.6.2
instance in UA and the flag exists there as well.
After changing the flag, I restarted the Tomcat server (just to be sure), but
it didn’t make any difference. I monitored the executed queries (using SQL
Server Profiler) and I didn’t notice any hints being set to enfource spatial
index usage. So turning this flag on or off doesn’t seem to make any
difference. But if I check the execution plan of those queries (even before
setting the “enforce spatial index” to true), I notice the spatial index is
being used.
Here’s the data for the same request with the “enforcing spatial index” flag
set to true. So it still takes 3110ms (which is similar with the flag set to
false).
finished[3110] parameters[[FORMAT=image/png, TRANSPARENT=TRUE, SERVICE=WMS,
VERSION=1.1.1, REQUEST=GetMap,
STYLES=knoopEigenaar,leidingEigenaar,terugslagklep,overstort,afsluiter,knijpconstructie,pomp,wervelventiel,inlaatEigenaar,uitlaatEigenaar,knelpuntStatus,reservoirEigenaar,projectToestand,
LAYERS=knoop,leiding,terugslagklep,overstort,afsluiter,knijpconstructie,pomp,wervelventiel,inlaat,uitlaat,knelpunt,reservoir,project,
SRS=EPSG:31370,
BBOX=116547.44384766,188202.28271484,116813.06835938,188467.90722656,
WIDTH=512, HEIGHT=512, CQL_FILTER=INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)))]]
Kind regards,
Roel De Nijs
Senior Java Developer
Van: [email protected] [mailto:[email protected]] Namens Andrea Aime
Verzonden: maandag 28 september 2015 18:47
Aan: Roel De Nijs <[email protected]>
CC: [email protected]
Onderwerp: Re: [Geoserver-users] GetMap-request with CQL_FILTER too slow
Hi,
have you tried forcing the spatial index usage, it's a flag in the store
configuration (if you have
a GeoServer recent enough... 2.6.x or 2.7.x, cannot remember when exactly we
added those)
Cheers
Andrea
On Mon, Sep 28, 2015 at 6:35 PM, Roel De Nijs
<[email protected]<mailto:[email protected]>> wrote:
Hi list,
We have a SQL Server 2008 R2 database with a spatial table for every feature
type (node, pipe, storagearea,…). Our application has two type of users: the
normal user and the geo-limited user. The first one can view all the
infrastructure, the latter one is restricted and can only see the
infrastructure within a polygon (representing a city or some other area).
To implement this restriction we add a CQL_FILTER to the GetMap-requests. But
these requests are much slower than the non-limited requests. I collected some
reference data. Because these data is quite verbose (certainly for the
geo-limited user), I share just the details of one tile.
So for a normal user, the geoserver request takes 660ms.
finished[660] parameters[[FORMAT=image/png, TRANSPARENT=TRUE, SERVICE=WMS,
VERSION=1.1.1, REQUEST=GetMap,
STYLES=knoopEigenaar,leidingEigenaar,terugslagklep,overstort,afsluiter,knijpconstructie,pomp,wervelventiel,inlaatEigenaar,uitlaatEigenaar,knelpuntStatus,reservoirEigenaar,projectToestand,
LAYERS=knoop,leiding,terugslagklep,overstort,afsluiter,knijpconstructie,pomp,wervelventiel,inlaat,uitlaat,knelpunt,reservoir,project,
SRS=EPSG:31370,
BBOX=116547.44384766,188202.28271484,116813.06835938,188467.90722656,
WIDTH=512, HEIGHT=512]]
But fort he geo-limited user, the geoserver request is 5x slower (3063ms).
finished[3063] parameters[[FORMAT=image/png, TRANSPARENT=TRUE, SERVICE=WMS,
VERSION=1.1.1, REQUEST=GetMap,
STYLES=knoopEigenaar,leidingEigenaar,terugslagklep,overstort,afsluiter,knijpconstructie,pomp,wervelventiel,inlaatEigenaar,uitlaatEigenaar,knelpuntStatus,reservoirEigenaar,projectToestand,
LAYERS=knoop,leiding,terugslagklep,overstort,afsluiter,knijpconstructie,pomp,wervelventiel,inlaat,uitlaat,knelpunt,reservoir,project,
SRS=EPSG:31370,
BBOX=116547.44384766,188202.28271484,116813.06835938,188467.90722656,
WIDTH=512, HEIGHT=512, CQL_FILTER=INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)));INTERSECTS("geom", POLYGON ((116547.44384766
188202.28271484, 116547.44384766 188467.90722656, 116813.06835938
188467.90722656, 116813.06835938 188202.28271484, 116547.44384766
188202.28271484)))]]
I want to know what could be the cause(s) of this performance issue. And if I
can make some changes to improve performance. Any pointers, hints,… are more
than welcome. I take anything I can get :-) And if it is a really specific
issue, I’ll try debugging some geoserver code.
Kind regards,
Roel De Nijs
Senior Java Developer
________________________________
Volg Aquafin op Facebook<https://www.facebook.com/AquafinNV> |
Twitter<https://twitter.com/aquafinnv> |
YouTube<http://www.youtube.com/channel/UCk_4P5BJ-MtEEDCkCsR_KqQ?feature=mhee> |
LinkedIN<http://www.linkedin.com/company/aquafin/products>
Disclaimer: zie www.aquafin.be<http://www.aquafin.be> P Denk aan het milieu.
Druk deze mail niet onnodig af.
------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/geoserver-users
--
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
==
Ing. Andrea Aime
@geowolf
Technical Lead
GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549
http://www.geo-solutions.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.
-------------------------------------------------------
------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users