[Gfoss] Velocizzare Lizmap per la resa dei layers

Rossin Pietro pietro.rossin a arpa.fvg.it
Lun 24 Ago 2015 13:37:33 CEST


Buon giorno
Vi partecipo sui nostri ultimi sforzi per  cercare di velocizzare il più possibile Lizmap sulla resa di layer poligonali/polilineari con geometrie molto dense di punti.

Gli strati informativi sono su db postgis su server debian virtualizzato in rete interna ARPA FVG.
Lizmap su server virtualizzato debian su rete veloce INSIEL.

Abbiamo provato varie strade.
Data l'iniziale lentezza nel caricamento dei layers sul cilent web abbiamo provato a fare una copia di tutti i layers sul server lizmap in un unico db spatialite, i dati erano così sullo stesso filesystem del server Lizmap.
Si cercava di eliminare i tempi di interrogazione e passaggio dei dati tra i due server che sono su reti con prestazioni molto differenti tra di loro..
Questa soluzione è risultata forse più lenta di quella lizmap/postgis. Avevamo scelto il db spatialite poiché i campi testo possono contenere blocchi di testo lunghi più dei 255 caratteri dei dbf degli shp.

Dato che avevamo attribuito tale lentezza all'accesso concorrente di più interrogazioni ad un solo db spatialite, abbiamo provato la via più sporca, i cari vecchi shp con indici spaziali per ogni file..
Le prestazioni sono forse un po' migliorate, ma non tanto (ad occhio..)

Passo successivo, grazie al suggerimento di Paolo Cavallini, è stato quello di creare più layers con le geometrie alleggerite (semplificate). Abbiamo fatto tre livelli di semplificazione.
I layer vengono accesi/spenti a diverse scale. Ottima la funzione copia/incolla stile di QGis pe questi lavori...
I layer vengono raggruppati e pubblicati come unica voce di legenda.
Con questa soluzione abbiamo ottenuto un salto notevole nelle prestazioni di resa a piccola scala, dato che in tali situazioni vengono caricate geometrie molto semplificate.

Poichè la cosa funzionava questa mattina abbiamo provato a tornare su postgres/postgis.

Aggiunte due colonne geometria alla tabella originale, calcolato al loro interno le nuove geometrie semplificate tramite "ST_SimplifyPreserveTopology" (troveremo metodo migliore - probabilmente Grass) ed indicizzate le colonne stesse.
Dato il problema con QGis e le colonne geometria multiple ho quindi creato tre viste, una per geometry column. Queste ultime sono state usate come sorgente dei layers semplificati.

Il sistema si è messo a volare! Resa lampo a piccola scala, arranca un pochetto alla scala maggiore, quella in cui viene caricata la geometria originale...

Immagino che appena aggiorneremo postgresql alle ultime versioni le cose dovrebbero ancora migliorare, data la possibilità di creare viste materializzate..

Qualche suggerimento?

Pietro

AVVISO DI RISERVATEZZA Informazioni riservate possono essere contenute nel messaggio o nei suoi allegati. Se non siete i destinatari indicati nel messaggio, o responsabili per la sua consegna alla persona, o se avete ricevuto il messaggio per errore, siete pregati di non trascriverlo, copiarlo o inviarlo a nessuno. In tal caso vi invitiamo a cancellare il messaggio ed i suoi allegati. Grazie. CONFIDENTIALITY NOTICE Confidential information may be contained in this message or in its attachments. If you are not the addressee indicated in this message, or responsible for message delivering to that person, or if you have received this message in error, you may not transcribe, copy or deliver this message to anyone. In that case, you should delete this message and its attachments. Thank you.
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20150824/033b5feb/attachment.html>


Maggiori informazioni sulla lista Gfoss