[Qgis-developer] QGIS Server does not release files after each request - OGROpenShared instead of OGROpen ?

Andreas Neumann a.neumann at carto.net
Wed Sep 16 01:54:36 PDT 2015


Thanks René-Luc and Kimaidou,

This sounds like a useful fix. I will test and report if I run into issues.

Do you have any numbers/observations how much this will speed up 
services that use Postgis as storage? I mean very rough numbers only.

Anyway - I will test.

Andreas

On 16.09.2015 10:19, kimaidou wrote:
> Hi all
>
> René-Luc has found why this appeared, essentially with Lizmap. Lizmap 
> send GetMap request to QGIS Server with a non empty STYLES parameter 
> (ex: STYLES=default). This is to let the user choose the style.
>
> In this case, QGIS Server did not use the maplayer cache, so it had to 
> get all information from the provider to build the maplayer objet for 
> each GETMAP request ! This is why in this case, a new opening was made 
> on the file.
> The following commit fixes it :
> https://github.com/qgis/QGIS/commit/a5450a78ffcbba9a75afa8be43460ad741fea050
>
> It has been backported in branches release-2_8 and release-2_10
>
> A very good side effect is with PostGIS layers :
> * before, QGIS Server sent many many queries to build the whole 
> maplayer for each GetMAP, such as : [1] if metadata were available, 
> and worse like [2] if metadata were not (for example for PostGIS views 
> or if the user had disabled "use metadata" )
> * now only the main "get data" queries are sent for each GetMap, like [3]
>
> In [2], you can see some performance kiling queries (on big datasets), 
> such as
>
> SELECT count(distinct ""nb"")=count(""nb"") FROM (SELECT row_number() 
> OVER() AS nb, * FROM ""2013"".v_geo_parcelle
> ) AS ""subQuery_0"""
>
> SELECT st_extent(""geom"") FROM (SELECT row_number() OVER() AS nb, * 
> FROM ""2013"".v_geo_parcelle
> ) AS ""subQuery_0""
>
> [1] https://paste.sh/yguqyRWL#EPcHHVH3uuijGgEtzH0pAlHb
> [2] https://paste.sh/frCglZ9A#A1nQ6BXtdBeEiZWQmTJP8v9l
> [3] https://paste.sh/Rkvqf757#K1MCRitovIxMblBVils1VF7r
>
>
> Thanks a lot to René-Luc for fixing this !
>
> Cheers
> Michaël
>
> 2015-09-14 8:39 GMT+02:00 Luca Manganelli <luca76 at gmail.com 
> <mailto:luca76 at gmail.com>>:
>
>     On Fri, Sep 11, 2015 at 5:09 PM, kimaidou <kimaidou at gmail.com
>     <mailto:kimaidou at gmail.com>> wrote:
>     > I tested a quick and dirty patch, by replacing all occurences of
>     OGROpen byt
>     > OGROpenShared in QGIS source, then rebuild and test server side
>     --> No locks
>     > anymore ! QGIS Server works like a charm here, without
>     increasing the number
>     > ...
>
>     This is a great fix! It's important to optimize resources, expecially
>     with qgis server.
>     _______________________________________________
>     Qgis-developer mailing list
>     Qgis-developer at lists.osgeo.org <mailto:Qgis-developer at lists.osgeo.org>
>     http://lists.osgeo.org/mailman/listinfo/qgis-developer
>
>
>
>
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20150916/fd50c8ea/attachment.html>


More information about the Qgis-developer mailing list