Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Les filtres d'un champ de 2ème niveau mettent 5 secondes à s'afficher #2

Open
acheype opened this issue Nov 21, 2023 · 4 comments
Open
Labels
enhancement New feature or request

Comments

@acheype
Copy link

acheype commented Nov 21, 2023

Quand je clique je coche une option d'un filtre d'un premier niveau, pour certaines entrées, le filtre de niveau 2 met 5 secondes à s'afficher. C'est problématique.

Ce qui est étrange c'est que ça ne le fait pas pour toutes les options du filtre. Par exemple, dans l'exemple du site que je donne, cela le fait que quand on coche "Education/formation", "Transition écologique" ou "Vie sociale / vie de quartier". Aussi c'est quand on le fait dès la première sélection, si une autre sélection est faite avant, il n'y a pas ce soucis de lenteur d'affichage.

Voici un lien où cela le fait et où le filtrage est déjà activé avec l'URL : https://dev.wikilleurbanne.fr/?AnnuAire#checkboxfiche8bf_categories=DOMINTERVD
Ce qui est encore plus bizarre pour ce filtrage là, c'est que si on lance la page sans filtre activée et qu'on clique sur ce filtre, le chargement se fait direct ! Pour les deux autres cas ('"Transition écologique" ou "Vie sociale / vie de quartier"), ça le fait à la fois quand on charge la page avec le filtrage déjà activé mais également quand on charge la page sans filtrage et qu'on vient manuellement faire le filtrage.

@J9rem

@acheype acheype added the bug Something isn't working label Nov 21, 2023
@J9rem
Copy link
Contributor

J9rem commented Nov 22, 2023

merci @acheype pour ce retour.

Le comportement que tu annonces est attendu car le chargement de l'association niveau vers niveau 2 se fait à la demande lors du clic sur le filtre (et parfois, ce chargement peut être plus rapide s'il n'y a que 3 fiches ou fait en arrière plan si l'url active le filtre).

Je pense que c'est pas une issue de catégorie bug mais plutôt enhancement.
Je comprends la gêne qu'il peut y avoir à attendre 5 secondes. Après, c'est la question entre optimisation du temps de chargement et volume de données systématiquement échangées, ... le curseur semble moins optimal pour votre site.

@acheype acheype added enhancement New feature or request and removed bug Something isn't working labels Nov 23, 2023
@acheype
Copy link
Author

acheype commented Nov 23, 2023

En effet, c'est dû au fait que j'ai 700 fiches. Avec quelques fiches, cela ne se produirait pas. (j'ai passé à "enhancement")

Le soucis vient déjà du fait que les facettes doivent traiter toutes les données et ne charge pas seulement les listes ou fiches qui représentes ces catégories.
Mais étant donné que les fiches s'affichent assez rapidement, on dirait que du côté des facettes c'est bcp moins bien optimisé. Comme si, les facettes relançaient de nouvelles requêtes pour charger l'ensemble des données... Est-ce le cas ?

Ce qui est encore plus bizarre pour ce filtrage là, c'est que si on lance la page sans filtre activée et qu'on clique sur ce filtre, le chargement se fait direct !

Je m'étais emmêlé les pinceaux dans mes tests. En fait, avec ce filtrage là, ça met également 5 secondes à ce que le filtre de niveau 2 s'affiche. C'est juste que je devais voir que les fiches se mettaient à jour directement quand on clique, mais le filtre de niveau 2 ne s'affiche pas à ce moment là.

@J9rem
Copy link
Contributor

J9rem commented Nov 23, 2023

Comme si, les facettes relançaient de nouvelles requêtes pour charger l'ensemble des données... Est-ce le cas ?

Oui car il n'est pas possible d'avoir les données en mémoire vive complète avec le premier jet.
Le fonctionnement est plus optimal quand le niveau 1 est une fiche qui contient un checkbox vers le niveau 2.
Dans ce cas, il n'y a normalement que les fiches nécessaires qui sont chargées.
Dans les autres cas, il y a chargement de toutes les fiches pour créer les liens.

@acheype
Copy link
Author

acheype commented Nov 24, 2023

Voici d'autres tests qui pourront t'aider à mieux comprendre ce qu'il se passe @J9rem.

En regardant du plus près le chargement de la page, on remarque que chaque fiche "catégorie" (c'est le niveau 1) est chargée, une à une via l'API :
2023-11-24 01-08 - Capture d'écran

On voit bien chacun des requêtes s'exécuter et la dernière met quasi 4 secondes à s'exécuter.

J'imagine qu'en remplaçant l'appel un à un par une requête qui vient récupérer l'ensemble des fiches devrait déjà améliorer grandement les performances (pour info, les 700 fiches asso mettent 2 sec environ à se charger avec une seule requête, vs les fiches catégories 4 sec avec 11 requêtes)

Et ensuite, je vois que ces requêtes commencent uniquement quand l'ensemble des données ont été requetées (donc après les 2 sec du chargement des fiches asso)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants