Hi Roel, this does not sound right, we have tests in the build checking that the hints are added, when activated they should look something like
... FROM schema.road WITH(INDEX(_road_geometry_index)) .... I don't have a SQL Server handy right now to make an interactive test though. Cheers Andrea On Tue, Sep 29, 2015 at 7:23 PM, Roel De Nijs <[email protected]> wrote: > 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]> > 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 P Denk aan het milieu. Druk deze mail > niet onnodig af. > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > Geoserver-users mailing list > [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 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
