Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 16 February 2017 03:54

Oakland
Participant actif
Date d'inscription: 6 Nov 2006
Messages: 142

[Geoserver] Activation de GeoWebCache et optimisation

Bonjour,


Je souhaite optimiser mes flux WMS et WMS-T publiés par Geoserver. Au sein de mon réseau, pas de soucis, l'affichage est quasi instantanée. Cependant, en accès internet client, les temps d'affichage avoisinent les 20 secondes.

Pour cela je dispose d'un serveur Ubuntu 16.04 Server, Tomcat 7, Geoserver 2.8.1, GeoTools 14.1, GeoWebCache interne 1.8.0, OpenLayer 2.8.
Les données raster sont stockées en local server .tif dallés et publiées en temps qu'ImageMosaïc et les données vecto en PostGIS 9.3
Tout ce petit monde se porte bien mais arrivé sur internet, tout prend du temps à l'affichage.

Je me suis inspiré de cette discussion qui m'a ensuite fait dériver sur plein d'autres : http://www.forumsig.org/showthread.p...t-performances

J'ai installé JAI, optimisé le JVM, autorisé le multithread, créer un BlobStores en local et activé le cache de mes données.

Plusieurs phénomènes particuliers :

- Côté QGIS en dehors de mon réseau.
quand je crée une nouvelle connexion WMS sur l'adresse : http://monserver.com/geoserver/projet/wms? avec les identifiants qui vont bien, je récupère mon GetCapabilities, j'affiche mes légendes, et les données s'affichent super lentement, mais elles s'affichent. Cela concerne aussi bien les vecto que les rasters.
si je contacte cette adresse : http://monserver.com/geoserver/projet/w … tiled=true avec les identifiants qui vont bien, pas de différence
si je contacte cette adresse : http://monserver.com/geoserver/projet/gwc/service/wms? avec les identifiants qui vont bien, je récupère mon GetCapabilities de toutes mes couches GeoWebCachées, je peux les charger dans QGIS, j'ai accès aux légendes mais la donnée ne s'affiche pas et je n'ai pas de message d'erreur. Dans les Propriétés, les SCR sont corrects et les GetMap semblent corrects :
http://monserveur.com/geoserver/gwc/... … E=WMS&

- Côté GeoServer.
la disponibilité JAI native est true, la mémoire à 1Go, les taille de threads sont par défaut, les paramètres de GeoWebCache sont tous activés, quand je visualise les couches cachées à partir de Aperçu, le Cache Statistics augmente. Toujours au travers de Aperçu, passé une certaine échelle, la donnée ne s'affiche plus et le Cache Statistics n'augmente plus.
J'ai créé un BlobStore en local server où pointent le stockage de mes tuiles cachées et il se fait supprimer si je redémarre GeoServer.
J'ai crée le GeoWebcache.xml mais je n'ai rien paramétré dedans. Dois-je y lister toutes mes données cachées ?? (ça va faire un sacré paquet).
J'ai tuilé à 20 par 20.
Quand je passe par le menu de GeoServer 'Prévisualisation de la Couche', le Cache Statistics n'augmente pas.
Le style raster est celui par défaut.

Logs GeoServer

Code:

la date,298 ERROR [geowebcache.GeoWebCacheDispatcher] - Problem communicating with GeoServer http://monserveur.com/geoserver/gwc/service/wms
la date,301 ERROR [geoserver.ows] - 
org.geoserver.platform.ServiceException: Rendering request would use 102400KB, whilst the maximum memory allowed is 65536KB

Où est paramétré ce 65536KB ? Je ne l'ai pas trouvé

- Côté Fiddler.
J'ai analysé mes flux GeoWebCache, pour les tuiles qui fonctionnent à une certaine échelle, l'url testée :

http://monserveur.com/geoserver/gwc/ser … 1&REQU EST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=xmin, ymin, xmax, ymax&WIDTH=256&HEIGHT=256

Le Header répond :

Code:

HTTP/1.1 200 OK
Content-Type: image/pngCache-Control: max-age=1, must-revalidate
Content-Disposition: inline; filename=geoserver-dispatch.image
Content-Length: 262556
Content-Type: image/png
geowebcache-cache-result: HIT
geowebcache-crs: EPSG:4326
geowebcache-gridset: EPSG:4326
Ce qui semble correct.

Pour les tuiles qui ne s'affichent pas à une certaine échelle, l'url est la suivante :

http://monserveur.com/geoserver/gwc/ser … 1&REQU EST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=xmin, ymin, xmax, ymax&WIDTH=256&HEIGHT=256

Le Header répond :


Code:

HTTP/1.1 400 Mauvaise Requête
Content-Disposition: inline; filename=geoserver-dispatch.text
Content-Encoding: gzip
Content-Type: text/html
Server: Apache-Coyote/1.1
Connection: close
Transfer-Encoding: chunked

Mes questions :
Ai-je vraiment bien activé GeoWebCache pour mes couches ?
Ai-je oublié un paramètre interne ou lié à mon serveur ?
Existe-t-il des conflits ? La solution software utilisée est-elle réellement adaptée aux besoins ?

Juste pour info, je vais essayer cette adresse avec les identifiants qui vont bien en tant que client et voir le comportement :
http://monserveur.com/geoserver/projet/ … vice/wmts?

Je vous remercie par avance ...

PS: le sujet est également ouvert chez nos voisins ForumSIG. Je ne manquerai pas de mettre à jour soit l'un soit l'autre sujet en fonction des réponses.

Dernière modification par Oakland (Thu 16 February 2017 03:55)

Hors ligne

 

#2 Thu 16 February 2017 08:12

Oakland
Participant actif
Date d'inscription: 6 Nov 2006
Messages: 142

Re: [Geoserver] Activation de GeoWebCache et optimisation

En effet, l'adresse a tout changé. Si je me connecte en tant que client sur http://monserveur.com/geoserver/proj.../service/wmts?, l'affichage d'une couche se fait en 3 secondes. (2 couches 6 secondes etc etc ...)
Cependant, en naviguant dans mes données, il affiche toujours les mêmes tuiles aux mêmes échelles en 3 secondes, je n'ai pas l'impression que le cache s'utilise correctement.

Ai-je un moyen de le contrôler ?

Merci.

Hors ligne

 

Pied de page des forums

Powered by FluxBB