Hi Régis, QGIS server is single-threaded. You can't simply turn on multi-threaded rendering in QGIS server. The other issue is that each Apache FCGI process has it's own set of cache. So if you have 5-10 parallel Apache threads or processes each thread/process has it's own cache. If your client hits a thread that has the cache unititialized you will have wait longer until this cache is fillled.
I once asked Marco whether one could a) have a shared cache for all Apache threads or processes b) support multi-threaded rendering But he said it would be very complicated to implement a) and b), if not impossible. Maybe other devs have other views. Note that was about 2 years ago, when I last discussed this with Marco. --------------------- Nevertheless I believe there would be room for performance improvements in QGIS server - if interested parties share their efforts (be it dev time or financial resources). BTW: did you switch of QGIS server python plugins? If you don't need them, I recommend you switch them off - both for security reasons, but also there was a huge performance problem with QGIS server Python plugins just recently. See http://hub.qgis.org/issues/13919 - luckily this was fixed just recently. Depending on the version you use, this may have a negative impact on your installation. Andreas On 2016-02-23 15:20, Régis Haubourg wrote: > Hi all, > we are working on using qgis server here and we face some performance issues > on big data sets. Cache is not an option for those layers that will be > edited by users. Currently performances are not acceptable for production > uses. Here is a couple of questions that I could not answer by myself on > the net: > > 1- Clarifying multithread on server side vs multithread on desktop: > > We use qgis 2.12 server from qgis repository for debian on a 4 core Xeon > (2.1Ghz) + 16Go RAM. > > We configured apache2 with MPM worker and we have a pool of 10 > qgis_mapserv.fcgi waiting for client request. > The behaviour here is that one client will only consume one fcgid process, > when desktop can use several processes to make some parallel rendering of > project layers. > When having QGIS desktop using only one thread, I have similar rendering > time. The difference is purely proportionnal to CPU speed difference. > Did we miss something in configuration process or is that the intended > behavior? I did try to use QGIS_OPTION_PATH on a QGIS2.ini but I really > can't be sure it is really being used. > Do QGIS packages miss the multithread option on compile cmake options? > If this is expected, does the web architecture would allow to have fcgid do > parallel rendering like desktop? Would that be a big work (I could partly > fund that)? > > 2- Overhead on first request with postgres complex view compared to > shapefiles > > We have almost only postgis views being used as QGIS layers. Qgis server > builds get capabilities and requests views to get extent and primary keys. > There is a severe overhead for the first wms request by a client session. > When generating the image takes about 7s, the first request can take from 24 > to 30s. Desktop multihreaded will get the image in about 3s (same postgres > server, same network). > That overhead starts to become annoying on desktop side too, but it's only > qgs loading time, once in a work session. Does someone have any idea that > one day postgis could collect such metadata on views so that QGIS do not > have to scan all rows when data are in views? Direct access to tables, or > same project with shp datasources do not show that overhead on server nor in > desktop. > > Thanks for your hints, > Cheers > > Régis > > -- > View this message in context: > http://osgeo-org.1560.x6.nabble.com/Server-performance-questions-tp5252233.html > Sent from the Quantum GIS - Developer mailing list archive at Nabble.com. > _______________________________________________ > Qgis-developer mailing list > Qgis-developer@lists.osgeo.org > List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer > Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
_______________________________________________ Qgis-developer mailing list Qgis-developer@lists.osgeo.org List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer