Hi all We are trying to use QGIS Server with nginx / supervisor instead of classical Apache / mod_fcgid.
We have seen that for each server request, such as a GetMap responding an image rendered from a single Shapefile (or Tiff, of whatever), QGIS Server opens a new access to the file. Exemple number found via the lsof command, after some requests lsof /tmp/someShapefile.shp | wc -l 126 which means here 126 requests has been processed by QGIS Server, but the access to Shapfile has never been released. Each requests leads to a new file handler. Imagine a project with several layers, and a web map with many users / requests --> this lead rapidly to many opening of the same files open for nothing, and can cause issues. In Apache configuration, this was not sensible, as mod_fcgid and Apache kill QGIS Server worker after N completed requests, and it seems the ulimit used is the system limit. In our configuration, supervisor has by default a ulimit of 1024 files opened. This limit is vers fast reached ( 1024 requests only ). We could tune this configuration, but it seems to walk aournd the issue without solving its origin. We have 2 ways of dealing with it : * Make sure QGIS Server does not open a data file each time a request needs it --> we will investigate if the cache is well used * We could also use GDALOpenShared instead of GDALOpen , and OGROpenShared instead of OGROpen in QGIS provider code: GDALOpenShared : http://www.gdal.org/gdal_8h.html#a46a02c21047d78f88f8abb1ff6b14ae2 OGROpen in QGIS : https://github.com/qgis/QGIS/search?utf8=%E2%9C%93&q=ogropen&type=Code Any idea, comment appreciated ! Regards, Michaƫl
_______________________________________________ Qgis-developer mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-developer
