GeotrekCE / Geotrek-rando-v3

Geotrek public data website (version 3)
https://geotrek.fr/produit.html#rando
MIT License
17 stars 16 forks source link

Lenteur affichage itinérances #753

Open AudreyRemy opened 2 years ago

AudreyRemy commented 2 years ago

Bonjour Sur notre site nature64.fr nous n'avons essentiellement que des itinéraires. Nous rencontrons de gros problèmes de lenteur de chargement de page. Parfois quand on clique sur une étape le lien nous renvoie à l'itinéraire parent et finit par afficher l'étape mais après un long moment. L'internaute peut imaginer qu'il s'agit d'un bug et cliquer à nouveau sur l'étape pensant faire apparaitre plus vite la page demandée. Avez-vous rencontré ce problème ? Est-il conseillé de revenir à une image antérieur de Geotrek Rando V3 ? actuellement nous sommes sur la 3.10. Merci d'avance pour votre retour. Bonne journée.

camillemonchicourt commented 2 years ago

Tu veux dire plutôt itinerances, non ? En effet pour notre portail Grand tour des Écrins, qui contient uniquement des itinerances, l'affichage des fiches mères est très long. Il aboutit à chaque fois mais peut mettre jusqu'à 30 secondes pour charger la page.

C'est certainement au niveau de l'API de Geotrek-admin que c'est long. J'ai pensé que la récupération des étapes peut être longue mais je n'ai pas encore investigué au niveau de l'API.

Ou alors ça peut être le téléchargement du long tracé de l'itinéraire mais là je doute que ça prenne tant de temps.

Il y a clairement un sujet à creuser pour voir ce qui prend du temps et un travail à faire pour ajouter du cache serveur. Soit au niveau de l'API de Geotrek-admin, soit au niveau des pages de Geotrek-rando. Potentiellement les deux.

On a prévu de creuser ce sujet à la rentrée mais si d'autres veulent y contribuer ça serait une bonne chose.

AudreyRemy commented 2 years ago

Bonjour Oui @camillemonchicourt tu as raison j'ai donc modifié le titre. Bonne journée

camillemonchicourt commented 2 years ago

En attendant, un restart régulier du container améliore un peu les problèmes de lenteur (docker-compose restart) même si cela ne règle pas le soucis de performances des itinérances, certainement à travailler en premier au niveau de l'API.

Une première analyse des soucis de performances est précisée sur https://github.com/GeotrekCE/Geotrek-rando-v3/issues/754

AudreyRemy commented 2 years ago

Merci @camillemonchicourt le restart a été mis en place via un CRON (si je ne me trompe pas de terme technique) mais en effet le soucis n'est pas réglé.

camillemonchicourt commented 2 years ago

Nous venons de lancer une étude pour améliorer ces soucis de performances.

Principales pistes :


Autre élément d'analyse :

Sur l'itinérance identifiée (http://87.98.164.254:83/trek/937571-GR%C2%AE54---Tour-de-l-Oisans-et-des-Ecrins), la page met du temps car est très grande, avec beaucoup d'étapes, etc... Mais finalement le plus long à récupérer pour cette rando sont les zones sensibles, et on le voit bien avec les 20 sec que met la route listant les zones sensibles de cette rando : https://geotrek-admin.ecrins-parcnational.fr/api/v2/sensitivearea/?near_trek=937571 Avec le module Zones sensibles activé, la page met 37 secondes à s'afficher chez moi et 9 secondes avec le module désactivé. Ça reste très long, mais les zones sensibles sur les grands itinéraires sont donc clairement un point noir majeur.

A voir si c'est l'intersection qui est pas optimale et très longue, ou si c'est juste car cette rando a beaucoup de zones sensibles et qu'elles ont des géométries complexes et donc longues à télécharger...


A vérifier aussi concernant les intersections :

Il me semble que les champs géométries des objets (itinéraires, zones sensibles...) dans le BDD de Geotrek ont bien des index spatiaux, mais à vérifier, et peut-être à réinitialiser ou mettre à jour ? Ça aide grandement pour les intersections et autres traitements spatiaux.

AudreyRemy commented 2 years ago

Merci beaucoup @camillemonchicourt

camillemonchicourt commented 2 years ago

L'analyse technique des problèmes identifiés et des solutions proposées est disponible sur https://github.com/GeotrekCE/Geotrek-admin/issues/3260.

AudreyRemy commented 1 year ago

Bonjour En parcourant les différents Geotrek-rando v3, j'ai l’impression que notre site est confronté a une plus grande lenteur que les autres. Peut-être que le problème provient également de notre configuration, de nos serveurs, de notre saisie des données ... Existe-t-il une procédure à suivre pour tester notre environnement ? Bonne journée.

bastyen commented 1 year ago

Bonjour,

Je viens de regarder votre application et je ne pense pas que ce soit qu'à cause de ça mais il y a un problème avec votre fichier video.mp4. Il est beaucoup trop volumineux. De plus, la video est à nouveau télécharger à chaque fois qu'on arrive sur la page d'accueil. Donc forcément selon la vitesse de connexion, ça joue sur les performances.

Par contre, je n'arrive pas à accéder aux contenus de la plupart des randonnées.

AudreyRemy commented 1 year ago

Merci @bastyen. Je vais voir avec notre service communication s'il peut me renvoyer un fichier moins volumineux. Quelle taille max préconisez-vous ? Pour le téléchargement répété de la vidéo, je ne sais pas comment faire. De mémoire j'ai modifié le fichier home.json en précisant le champ videoUrl et ajouté le fichier vidéo dans le dossier média.

Pour les randonnées c'est le gros problème que nous rencontrons en effet. Le navigateur mouline, l'étape de la randonnée itinérante s'ouvre en "repassant" par l'itinéraire parent (on a donc l'impression qu'il y a un bug si on ne s’aperçoit pas que le navigateur continue de travailler) et parfois même la fiche ne s'ouvre pas.

bastyen commented 1 year ago

Je pense que la vidéo devrait faire moins de 5mo. Il doit être possible de modifier quelques paramètres de la vidéo actuelle pour y arriver. Pour son téléchargement, je ne sais pas, je ne m'occupe pas de ce dépôt. @dtrucs Une idée ?

Je confirme que la fiche de s'ouvre pas.

AudreyRemy commented 1 year ago

Merci @bastyen

camillemonchicourt commented 1 year ago

Concernant votre vidéo, de notre côté on a optimisé la notre au maximum pour que la qualité soit correcte mais que son poids soit le plus faible possible. Notre vidéo fait ainsi 3.15Mo : https://rando.ecrins-parcnational.fr/medias/videos/video-rando-ecrins.mp4

bastyen commented 1 year ago

Pour information, la vidéo est stockée par le service worker via cache api, ce qui n'est pas une bonne pratique. Ce type de fichier devrait être stocker via indexeddb.

AudreyRemy commented 1 year ago

Bonjour, Pour information, depuis les dernières mises à jour des Geotrek admin et rando, nos problèmes de latence sont résolus. Merci pour tout ce travail.

camillemonchicourt commented 1 year ago

Depuis la version 3.13.5 (mars 2023), le nouveau paramètre displayObjectsRelatedToItinerantTreks permet de ne pas faire remonter certains ou tous les objets liés sur les fiches mères des itinérances et ainsi de charger ces fiches itinéraires beaucoup beaucoup plus rapidement. Voir https://github.com/GeotrekCE/Geotrek-rando-v3/issues/847

Par ailleurs des améliorations diverses du cache de GTR, de chargement et de factorisation des pages ont été réalisés plus récemment.