C'è cache sul disco ma non si sente la differenza

55 views
Skip to first unread message

Menashe Eliezer

unread,
Oct 22, 2014, 10:31:33 AM10/22/14
to geoser...@googlegroups.com
Salve,
Ho GeoServer 2.4.2.
C'è cache sul disco ma non si sente la differenza. Ho controllato con più di un layer.
Non so la cache sia stata creata al volo o solo perché ho fatto reseeding, ma questo è un altro discorso.

Grazie,
Menashè

Michele Beneventi

unread,
Oct 23, 2014, 6:21:30 AM10/23/14
to geoser...@googlegroups.com
In generale ti consiglierei di aggiornare la versione di geoserver e di analizzare (con un sistemista) tutti i punti di questa sezione della documentazione on- line:

http://docs.geoserver.org/stable/en/user/production/index.html

buon lavoro
michele

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "GeoServer Italia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a geoserver-it...@googlegroups.com.
Per postare in questo gruppo, invia un'email a geoser...@googlegroups.com.
Visita questo gruppo all'indirizzo http://groups.google.com/group/geoserver-ita.
Per altre opzioni visita https://groups.google.com/d/optout.

Simone Giannecchini

unread,
Oct 23, 2014, 6:29:53 AM10/23/14
to geoser...@googlegroups.com
Ciao,
domanda banale, stai inviando richieste che siano allineate al gridset
che stai cachando?
Detto questo, stai facendo richieste WMS ma allineate al gridset
chiamando GeoServer oppure stai chiamando direttamente GWC, magari con
chiamate TMS o WMTS?

Se mettendo dentro il caching non vedi differenze di performance i casi sono 2:

-1- NON stai usando la cache nelle tue chiamate (ergo, controlla gli
header delle getmap e cerca i tag marcati geowebcache, se non ci sono
le tue chiamate non sono corrette)
-2- il layer era già veloce inizialmente e fare caching non aiuta

Ora la 2 mi pare poco probabile, al massimo potrebbe essere lenta la
prima richiesta (che deve creare fisicamente il tile) ma raramente le
successive sarebbero piu' lente di richieste simili senza cache.
In definitiva, una volta escluso 2 devi controllare 1 e capire che
tipo di richieste stai facendo.


Regards,
Simone Giannecchini
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate.
Il loro utilizzo è consentito esclusivamente al destinatario del
messaggio, per le finalità indicate nel messaggio stesso. Qualora
riceviate questo messaggio senza esserne il destinatario, Vi preghiamo
cortesemente di darcene notizia via e-mail e di procedere alla
distruzione del messaggio stesso, cancellandolo dal Vostro sistema.
Conservare il messaggio stesso, divulgarlo anche in parte,
distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità
diverse, costituisce comportamento contrario ai principi dettati dal
D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely
for the attention and use of the named addressee(s) and may be
confidential or proprietary in nature or covered by the provisions of
privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New
Data Protection Code).Any use not in accord with its purpose, any
disclosure, reproduction, copying, distribution, or either
dissemination, either whole or partial, is strictly forbidden except
previous formal approval of the named addressee(s). If you are not the
intended recipient, please contact immediately the sender by
telephone, fax or e-mail and delete the information in this message
that has been received in error. The sender does not give any warranty
or accept liability as the content, accuracy or completeness of sent
messages and accepts no responsibility for changes made after they
were sent or for other risks which arise as a result of e-mail
transmission, viruses, etc.

Menashe Eliezer

unread,
Oct 23, 2014, 7:30:45 AM10/23/14
to geoser...@googlegroups.com, simone.gi...@geo-solutions.it
Ciao,
grazie Simone.

domanda banale, stai inviando richieste che siano allineate al gridset 
che stai cachando? 
Sì.

-1- NON stai usando la cache nelle tue chiamate (ergo, controlla gli 
header delle getmap e cerca i tag marcati geowebcache, se non ci sono 
le tue chiamate non sono corrette) 
La chiamata è: .../wms?service=WMS&version=1.1.0&request=GetMap&layers=store_name:layer_name&styles=&bbox=0.0,-15.0,45.0,48.0&width=365&height=512&srs=EPSG:4326&format=image%2Fpng
 
Grazie Michele, prima o poi doveri anche aggiornare Geoserver, ecc.

Menashè

Simone Giannecchini

unread,
Oct 23, 2014, 8:20:13 AM10/23/14
to geoser...@googlegroups.com, Simone Giannecchini
Ciao,
come dicevo sopra:

"controlla gli
header delle getmap e cerca i tag marcati geowebcache, se non ci sono
le tue chiamate non sono corrette"

Alcune osservazioni:

-1- tu stai chiamando geoserver direttamente, è attivato la "Enable
direct integration with GeoServer WMS" da Tile Caching-->Caching
Defaults? Altrimenti GWC non verra attivato.
In alternativa devi fare direttamente chiamate di questo tipo:
http://localhost:8080/geoserver/gwc/service/wms?LAYERS=cite%3Atm&FORMAT=image%2Fjpeg&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=0,-90,90,0&WIDTH=256&HEIGHT=256
-2- se vuoi usare la direct integration di GWC in GeoServer devi
sempre mettere tiled=true nelle richieste

Ripeto, controlla i tag di una richiesta getmap, se GWC entra devi
vedere qualcosa tipo:

geowebcache-cache-result:HIT
geowebcache-crs:EPSG:4326
geowebcache-gridset:EPSG:4326
geowebcache-tile-bounds:0.0,-90.0,90.0,0.0
geowebcache-tile-index:[2, 0, 1]
geowebcache-tile-index:[2, 0, 1]

Menashe Eliezer

unread,
Oct 23, 2014, 9:11:19 AM10/23/14
to geoser...@googlegroups.com, simone.gi...@geo-solutions.it
Ciao Simone,
ora funziona, grazie!
Ho persino cancellato la cache create manualmente con Reseeding, e una nuova cache è stata creata.
Solo che non vedo modo di aver cache per dimensioni png width=365&height=512

Dettagli:
Sì, è attivato la "Enable direct integration with GeoServer WMS" da Tile Caching-->Caching Defaults? 
No, non avevo tiled=true nelle richieste. Solo dopo l'aggiunta di tiled=true ho visto i tag marcati geowebcache.
Ma, c'era un problema:
geowebcache-miss-reason: request does not align to grid(s) 'EPSG:4326'
geowebcache-cache-result: MISS

Usando http://docs.geoserver.org/latest/en/user/geowebcache/troubleshooting.html, ho capito che dovrei mettere width=256&height=256
Poi funzionava.
Infatti si vede sotto "Caching Defaults", "Default Cached Gridsets" per EPSG:4326:
256 x 256
Zoom levels 22

Grazie!
Per concludere, alcune domande:
1. si può creare cache per &width=365&height=512 ?
2. Qunado non usavo più la cache del reseeding, non potevo più vedere i tag geowebcache, ma solo HTTP/1.1 304 Not Modified, anche con Ctrl+Reload. Come potrei rivedere geowebcache in azione?
3. Come ho scritto su "Zoom levels 22", ma sul disco ho visto solo /EPSG_4326_02/1_0 con tre file: 04_01.png, 04_02.png, 04_03.png
4. Che motivo c'è per fare Reseeding e come potrei scegliere valori per Zoom start e Zoom stop?
5. Per layer è consigliato usare "Response Cache Headers"? Con quali "Cache Time (seconds)"?

Menashè

Simone Giannecchini

unread,
Oct 23, 2014, 9:44:04 AM10/23/14
to geoser...@googlegroups.com, Simone Giannecchini
Ciao,
trovi le mie risposte sotto.
devi creati un tuo gridset e poi allineare il client nelle richieste che fa.
Detto questo, sicuro che abbia senso?

> 2. Qunado non usavo più la cache del reseeding, non potevo più vedere i tag
> geowebcache, ma solo HTTP/1.1 304 Not Modified, anche con Ctrl+Reload. Come
> potrei rivedere geowebcache in azione?

Non capisco la prima parte della frase, cmq sia dipende dal browser.
Svuota la cache e ricarica il tile per sicurezza.


> 3. Come ho scritto su "Zoom levels 22", ma sul disco ho visto solo
> /EPSG_4326_02/1_0 con tre file: 04_01.png, 04_02.png, 04_03.png

e quindi? :)


> 4. Che motivo c'è per fare Reseeding e come potrei scegliere valori per Zoom
> start e Zoom stop?

Fare seeding è utile su layer che sono particolarmenti lenti da
renderizzare e/o che non cambiano spesso.
Paghi una volte per tutte il prezzo del rendering e via.

Per quanto riguarda i livelli, devi stare attento che al crescere del
livello di zoom di arrivo il numero di cresce velocissimo.
Ad esempio fare seed fino a livello 22 mi pare rischioso. Se vai in
edit nel gridset che stai usando vedrai che dopo il livello 14 o 15
aggiungere un nuove livello di zoom puo' voler dire calcolare milioni
di layer.
Ovviamente questo dipende molto dalla estensione della zona che stai
cachando, ma penso di aver reso l'idea.



> 5. Per layer è consigliato usare "Response Cache Headers"? Con quali "Cache
> Time (seconds)"?
>

I caching headers sono utilissimi per forzare i browser a cachare i
tile perchè per quanto GWC velocizzi il serving
non ha senso servire continuamente lo stesso tile allo stesso client.
Niente di fantascientifico, stiamo parlando di tecniche
di ottimizzazione dei siti web statici.

Ovviamente questo ha senso se i tile non vengono ricreati di
frequente, altrimenti si rischia di introdurre un ritardo
inaccettabile fra chi genera i tile e chi li consuma.
Per quanto riguarda i secondi, vale quanto detto sopra. Con dati
statici puoi mettere settimane o mesi, con dati dinamici devi
diminuire.

Nota che non esiste un modo in GWC per forzare il caricamento lato
client, ergo una volta che un tile è in cache lato client ci rimane
finchè non raggiunge l'expiry of la cache viene
ripulita.

Menashe Eliezer

unread,
Oct 23, 2014, 10:44:57 AM10/23/14
to geoser...@googlegroups.com, simone.gi...@geo-solutions.it
Ciao Simone,
grazie mille!

Menashè
Reply all
Reply to author
Forward
0 new messages