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]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to