[QGIS-Developer] [Server] Is QGIS Server 3 fast yet ? the 2018-02-06

René-Luc Dhont rldhont at gmail.com
Thu Feb 8 10:41:52 PST 2018


Hi Régis

Le 08/02/2018 à 17:12, Régis Haubourg a écrit :
> Hi René Luc,
> thanks a lot for starting that analysis!
>
> Do you plan to be in Madeira? Elaborating a complete test suite 
> together would be perfectly fitted for that task .

I could not be in Madeira. But we can discuss about perf test suite.

>
> Some questions:
>
> - Trust option is only there to not query datasource when this one has 
> no metadata for PK and extent. So it should only make sense to compare 
> the first getcapabilities or project load with and without trust 
> option. Other following requests should not have any impact, so we 
> need to make sure the platform is not measuring something else in the 
> differences you note. So I don't see what you mean by "completing" the 
> trust option. Can you be more explicit ?

Trust option can be usefull with Apache. When you use QGIS Server with 
Apache, the QGIS Server processes are regularly reset. So the QGIS 
Server cache is regularly cleaned, and the project is regularly 
reloaded. So the trust option can affect all the request not only 
GetCapabilities.
So the average time request is affected by trust option, but I was 
thinking that this option make QGIS Server 3 faster at all scale and 
it's not the case for high scale.
I have open an issue to request min,max, median requests time to have an 
idea of the time needed to load project.

>
> - Is the test  platform requesting wms layer groups, and did you test 
> the multithread rendering? How many cores? How many cores really 
> available when testing?

The platform requesting layers, not layer groups and multithreading 
rendering has been activated. the environnment variables are:
     QGIS_SERVER_PARALLEL_RENDERING: "true"
    QGIS_SERVER_MAX_THREADS: 8

>
> I think we should first elaborate a common reference test suite and 
> couple a system monitoring at the same time to be sure we don't have 
> external noise in the tests, and find system bottlenecks. Then only we 
> can consider some conclusions over development priorities I think.

The platform provided by camptomcamp is a good start and some 
enhancement has been already opened :
* test GetCapabilties
* test GetFeatureInfo
* test with labels

And we have multi options to test:
* with and without multithreading
* with and without local simplification (for postgres)
* with and without data projection (here form EPSG:4326 to EPSG:3857)

And we have other server configuration to test
* Nginx/Supervisor
* Embedding QGIS Server in Tornado or other Python server

>
> Many thanks !
>
> Régis
>
>

Regards,
René-Luc



More information about the QGIS-Developer mailing list