The aim of this report is to compare QGIS Server performances according to several versions. Moreover, some configurations are tested too like parallel rendering, trust option, PAL candidates, ... This way, we're able to keep an eye on regressions and improvements!

For now, only GetCapabilities and GetMap requests are tested. Regarding the underlying data, a PostGIS database is used (with several kinds of geometries, as described in each tests) as well as GeoTIFF rasters.

The "(database)" flag in the legend shows the time spent to retrieve data from PostgreSQL as a reference.

The master branch is based on the commit f599d82db276f23d1a33618a1f2558a1bb3cfbe8.

This report is automatically generated thanks to QGIS-Server-Perfsuite and Graffiti.

Content

GetCapabilities: Default configuration

Description

The aim of this test is to measure the response time of the server for the GetCapabilities request with the default configuration.

Dataset:

Results

GetCapabilities: PostgreSQL views

Description

The aim of this test is to measure the response time of the server for the GetCapabilities request with PostgreSQL view.

Dataset:

Results

GetCapabilities: PostgreSQL views: trust option

Description

The aim of this test is to measure the response time of the server for the GetCapabilities request with PostgreSQL view and the trust option.

When the trust option is activated, the response time of the very first request should be much more lower.

Dataset:

Results

GetMap: Rasters and vectors

Description

The aim of this test is to measure the response time of the server for the GetMap request with vector and raster layers when the parallel rendering option is activated.

Dataset:

Resulting images:

QGIS Server 2.18
QGIS Server 3.10
QGIS Server 3.16
QGIS Server Master

Results

GetMap: Rasters and vectors: parallel rendering

Description

The aim of this test is to measure the response time of the server for the GetMap request with vector and raster layers when the parallel rendering option is activated with 4 cores.

Dataset:

Resulting images:

QGIS Server 3.10
QGIS Server 3.16
QGIS Server Master

Results

GetMap: Rasters and vectors: zoom

Description

The aim of this test is to measure the response time of the server for the GetMap request with vector and raster layers. The extent is based on the least extended layer.

Dataset:

Resulting images:

QGIS Server 2.18
QGIS Server 3.10
QGIS Server 3.16
QGIS Server Master

Results

GetMap: Rasters and vectors: 4K

Description

The aim of this test is to measure the response time of the server for the GetMap request with vector and raster layers with a 4K resolution

Dataset:

Resulting images:

QGIS Server 2.18
QGIS Server 3.10
QGIS Server 3.16
QGIS Server Master

Results

GetMap: Rasters and vectors: categorized renderer

Description

The aim of this test is to measure the response time of the server for the GetMap request with a lines layer based on the categorized renderer.

Dataset:

Resulting images:

QGIS Server 2.18
QGIS Server 3.10
QGIS Server 3.16
QGIS Server Master

Results

GetMap: Rasters and vectors: rule based renderer

Description

The aim of this test is to measure the response time of the server for the GetMap request with a lines layer based on the rule based renderer.

Dataset:

Resulting images:

QGIS Server 2.18
QGIS Server 3.10
QGIS Server 3.16
QGIS Server Master

Results

GetMap: Points

Description

The aim of this test is to measure the response time of the server for the GetMap request with vector layers based on points geometries. Moreover, the parallel rendering option is also tested.

Dataset:

Resulting images:

QGIS Server 2.18
QGIS Server 3.10
QGIS Server 3.16
QGIS Server Master

Results

GetMap: Polygons

Description

The aim of this test is to measure the response time of the server for the GetMap request with vector layers based on polygons geometries.

Dataset:

Resulting images:

QGIS Server 2.18
QGIS Server 3.10
QGIS Server 3.16
QGIS Server Master

Results

GetMap: Lines

Description

The aim of this test is to measure the response time of the server for the GetMap request with vector layers based on lines geometries. The DPI parameter is 96 (default value).

Dataset:

Resulting images:

QGIS Server 2.18
QGIS Server 3.10
QGIS Server 3.16
QGIS Server Master

Results

GetMap: Lines, parallel labelling and PAL candidates

Description

The aim of this test is to measure the response time of the server for the GetMap request with vector layers based on lines geometries and parallel labelling. Moreover, the influence of PAL candidates is also studied.

Dataset:

Resulting images are:

QGIS Server 2.18
QGIS Server 3.10
QGIS Server 3.16
QGIS Server Master

Results

GetMap: Raster

Description

The aim of this test is to measure the response time of the server for the GetMap request with a raster layer.

Dataset:

Resulting images:

QGIS Server 2.18
QGIS Server 3.10
QGIS Server 3.16
QGIS Server Master

Results

GetMap: Polygons and datasource influence

Description

The aim of this test is to measure the response time of QGIS Server (master branch) for the GetMap request with vector layers based on polygons geometries for PostGIS, Spatialite, Shapefile and Geopackage data sources.

Dataset:

Resulting images:

PostGIS
Spatialite
Shapefile
Geopackage

Results

GetMap: Lines and datasource influence

Description

The aim of this test is to measure the response time of QGIS Server (master branch) for the GetMap request with vector layers based on lines geometries for PostGIS, Spatialite, Shapefile and Geopackage data sources. The DPI parameter is 96 (default value).

Dataset:

Resulting images:

PostGIS
Spatialite
Shapefile
Geopackage

Results

GetMap: Points and datasource influence

Description

The aim of this test is to measure the response time of QGIS Server (master branch) for the GetMap request with vector layers based on points geometries for PostGIS, Spatialite, Shapefile and Geopackage data sources.

Dataset:

Resulting images:

PostGIS
Spatialite
Shapefile
Geopackage

Results

GetCapabilities: Large project with empty layers based on shapefiles

Results

GetCapabilities: Large project with empty layers based on geopackage

Results

GetCapabilities: Large project with empty layers based on PostGIS

Results