[FOSSGIS-Talk] Lizmap Erfahrungsbericht und Fragen zur Geschwindigkeits-Optimierung

lars lingner lars at lingner.eu
Sa Dez 24 14:05:51 CET 2016


Hallo Günter,

On 12/24/2016 12:56 PM, Günter Wagner, Wagner-IT wrote:
> Hallo Zusammen,
> 
>  
> 
> eher durch Zufall, da ich mit dem QGIS-Web-Client Probleme bei der
> Installation/Konfiguration hatte, bin ich auf Lizmap gestoßen.

Lizmap gefällt mir auch, habe ich aber nicht im Einsatz. Bin mal
gespannt welche News es vom Qgis Webclient II nächstes Jahr gibt.

[...]

> 
> Als (vorläufiger Test-)Server wird ein vServer (Hetzner CX40) mit 2vCores, 8
> GB RAM, 200 GB SSD und 1 GB-Anbindung mit Ubuntu-Server 16.04.LTS und php7.0
> genutzt.
> 
[...]

> 
> Darum meine Frage:
> 
> Das liegt sicherlich an dem relativ einfachen vServer. Bringt stärkere
> Hardware (mehr vCores) im vServer etwas?
> 
> Wahrscheinlich sollte es doch eher ein Dedicated Root Server anstelle des
> vServers sein. Ich denke hier an ein Paket wie das EX40-SSD von Hetzner. Es
> gibt natürlich auch noch andere gute Anbieter:)
> 
> Hat da jemand Erfahrung?

Ich bin mit Hetzner auch zufrieden, benutze für solche Aufgaben aber nur
Root-Server. Aktuell arbeite ich mit der PX-Serie, Kartenserver läuft
auf PX91 mit SSD die DB auf einem PX121 mit SSD
Der EX40 liegt preislich sehr gut, wenn dir 32GB RAM ausreichen.

So ein Kartenserver ist ein komplexes Setup bei dem viele Komponenten
beteiligt sind. Geodaten liegen als Dateien oder in einem DBMS vor,
müssen also erstmal von der Disk in den Arbeitsspeicher. Je nach Größe
kann dieser knapp werden, wenn z.b. auch die DB auf dem selben Host
läuft. Irgendwann hat QGis-Server alle Daten und erzeugt letztendlich
die Karte. Das ganze wiederholt sich für jeden Request. Diese können
auch massiv parallel aufschlagen.

Schau dir mal an was für Datenvolumen deine Quelldaten haben. Dann
bastel dir einen GetMap-Request (der dir langsam erscheint) und
beobachte den Server bei der Ausführung. Wartet er auf die Festplatte?
Muss er Daten auslagern da RAM zu knapp ist? Hat der Server noch andere
Aufgaben? Wieviel QGis-Server-Prozesse laufen parallel?
Wieviel Requests können maximal parallel ausgeführt werden bis es
nutzerunfreundlich ist?

Was ich sagen will: eine pauschale Empfehlung ist nicht möglich. Ich
habe immer gerne mehr RAM als notwendig sowie schnelle Disks bzw. SSDs.
Die aktuellen Prozessoren sind IMO völlig ausreichend. Und falls eine
Gigabit-Schnittstelle nicht ausreicht, muss man sowieso anders
konzeptionieren.

Für eine Onlineanwendung würde ich prüfen ob nicht ein Proxy (konkret:
MapProxy) helfen kann. Gerade bei komplexen Daten wie ALKIS ist es
schwierig die Optimierung so weit zu führen das alle Requests < 1
Sekunde sind.

> 
>  
> 
> Auch die Einstellungen im QGIS-Lizmap-Plugin habe ich wahrscheinlich noch
> nicht ausgeschöpft. Insbesondere die für die Kachelung und für den Cache.
> 
> Gibt es hier Erfahrungen?

Ich muss mir das aktuelle Lizmap-Plugin mal anschauen. Klingt so als ob
da ein Cache konfiguriert werden kann. Das wäre das Äquivalent zu MapProxy.


> 
> Nach meinen Tests ist es wichtig, dass es in der Lizmap-Web-Anwendung nicht
> zu viele Ebenen(Layer) gibt. Eine Zusammenfassung der Ebenen als Gruppe
> (gerade bei den ALKIS-Ebenen) brachte schon einiges an Geschwindigkeit.

Das ist auch eine Optimierungsmaßnahme. Mach aber nicht alles auf
einmal. Also RAM aufrüsten, Daten generalisieren sowie Proxy dazwischen
und schon weißt du nicht welche Maßnahme was genau gebracht hat.



Mit weihnachtlichen Grüßen aus Berlin


Lars