2017-08-17 2 views
0

J'ai Geoserver 2.11.2, PostgreSQL 9.5, les couches ouvertes 3 et Tomcat 8 sont toutes installées sur la machine virtuelle cloud Ubuntu 16.4 Azure.J'ai également activé GeoWebCache mais la vitesse de rendu de la couche WMS est lente (15 à 16 secondes) .Veuillez trouver this. Y at-il une idée pour améliorer plus de vitesse que la vitesse actuelle de l'outil web, Merci.Les couches WMS ralentissent dans les couches ouvertes 3?

Répondre

2

Globalement, il semble que quelque chose soit mal configuré. Il existe d'excellentes ressources dans les documents GeoServer (http://docs.geoserver.org/stable/en/user/production/) sur l'exécution en production. De GeoSolutions, il y a quelques matériaux de formation (http://geoserver.geo-solutions.it/edu/en/enterprise/index.html) et des discussions (https://www.slideshare.net/geosolutions/geoserver-in-production-we-do-it-here-is-how-foss4g-2016) qui adressent des techniques communes pour la préparation de données, les options de JVM, et d'autres considérations qui peuvent aider certains.

Comme un appel particulier, je suggère fortement Marlin (https://github.com/bourgesl/marlin-renderer/wiki/How-to-use). Son utilisation dans GeoServer peut aider énormément avec le rendu simultané (http://www.geo-solutions.it/blog/developerss-corner-achieving-extreme-geoserver-scalability-with-the-new-marlin-vector-rasterizer/).

Il peut être utile de s'assurer que PostGIS est installé et que vos données ont un index spatial. Tuning PostGIS est un sujet distinct. Une fois que les données ont été préparées et indexées et que Marlin est opérationnel, il peut être utile de semer le cache GWC. Avec cela, votre application servirait simplement des carreaux pré-cuits pour des niveaux de zoom grossiers et cela devrait être plus rapide.

+0

Merci GeoMesaJim, j'ai augmenté la mémoire Geoserver JAI et également activé l'intégration directe avec Geoserver WMS. les données ont aussi un index spatial et ont suivi vos suggestions mais je suis incapable d'augmenter la vitesse de chargement de la carte web. –

+0

J'ai Open JDK 1.8, donc je peux changer Open JDK à Oracle JDK.Thanks –

+0

Avez-vous regardé l'interface utilisateur GWC pour voir comment le cache fonctionne? Peut-être que ce n'est pas utilisé efficacement. – GeoMesaJim

1

Il semblerait que vous ayez un lot des couches activées dans votre carte. Le simple zoom avant a déclenché un total de demandes de tuiles individuelles, la plupart d'entre elles sur votre GeoServer. Je ne pense pas que votre problème principal soit votre GeoServer (bien que le bidouiller en utilisant les autres suggestions de réponses soit toujours une bonne idée), je pense que votre problème principal est simplement le débit.

La plupart des navigateurs ont une limite (lors de l'utilisation de http 1.1) de how many simultaneous requests can be sent to the same domain, une fois que vous avez atteint cette limite, toutes les autres demandes sont mises en file d'attente jusqu'à ce que les précédentes soient terminées. Je pense que c'est votre problème, votre serveur traite les demandes le plus rapidement possible, mais il y en a tellement qu'il ne peut tout simplement pas les servir à la vitesse que vous attendez.

Je vous recommande fortement de réduire le nombre de couches chargées par défaut ou d'appliquer une sorte de restriction de zoom afin que certaines couches s'éteignent à différents niveaux de zoom. Vous pourriez même penser à combiner un certain nombre de couches en une seule et peut-être en utilisant GeoServers CQL filtering pour changer ce qui est affiché.

+0

Merci Rob, Y at-il un problème à cause de la bibliothèque bootstrap. J'ai testé en ligne, donc les résultats montrent, plus de temps pour le code de script Java. –

+0

Ah! Peut-être que vous pourriez changer OpenLayers ou Leaflet pour faire des demandes non-carrelées. – GeoMesaJim