-
Notifications
You must be signed in to change notification settings - Fork 103
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
optimisation des stats de la page d'accueil #3309
Comments
Pour tester rapidement j'ai remplacer le code cité plus haut par :
et en effet mes stats mettent à présent - de 5s à s'afficher lors d'un premier affichage (contre 2 mn auparavant) mais je suis conscient que code peut être encore optimisé puisqu'il n'y a plus qu'une valeur par requête. |
et bien sur il ne faut pas oublié d'ajouter l'index sur synthese.observers ! |
Merci @dba-sig-sfepm, j'ai repris tes propositions dans #3308 L'opération sur mon instance (1.7 millions) est calculée en 279 ms en moyenne avec la nouvelle version. |
Intégré dans la 2.15.2 et le calcul des stats est maintenant très rapide. |
Ref : #1320 et #1086
Malgré le cache du navigateur, l'affichage des stats de la page d'accueil peut être très long lors d'un premier affichage. La requête est une route du fichier /backend/geonature/core/gn_synthese/routes.py et est défini comme cela :
Un filtre est en effet appliqué en fonction des permissions du rôle. Il en résulte pour les observations, les observateurs et les taxons l'exécution de la requête suivante :
or celle-ci, du fait des "distinct" peut-être très longue avec beaucoup d'enregistrements. (près de 2mn avec 8 million de lignes).
La première chose à faire est d'ajouter un index sur synthese.observers mais ceci ne réduit pas le temps de la requête précédente mais par contre celle ci-dessous donne le même résultat en 4s :
Est-il possible de modifier la première requête en la deuxième tout en appliquant le filtre des permissions ? (je ne suis pas expert en python...) Ou éventuellement exécuter les 3 requêtes de manière distincte en appliquant le filtre sur chacune ? Dans les 2 cas je pense que l'affichage des stats serait beaucoup plus rapide.
The text was updated successfully, but these errors were encountered: