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

Route lente pour trier la liste des modules par label #344

Open
gildeluermoz opened this issue May 3, 2024 · 3 comments
Open

Route lente pour trier la liste des modules par label #344

gildeluermoz opened this issue May 3, 2024 · 3 comments

Comments

@gildeluermoz
Copy link

Le chargement de la page listant les modules est lente.
En analysant, le fonctionnement de cette route : geonature/api/monitorings/modules c'est un order_by qui ralenti fortement le chargement du résultat de cette route. Avec le order_by, le temps d'attente de la réponse est de 4.5s, il est 300ms sans le order by.
Ca se passe ici :
https://github.com/PnX-SI/gn_module_monitoring/blob/main/backend/gn_module_monitoring/modules/repositories.py#L84
sur cette ligne res = DB.session.query(TMonitoringModules).order_by(TMonitoringModules.module_label).all()
en l'écrivant comme ça : res = DB.session.query(TMonitoringModules).all() C'est donc beaucoup mieux.

J'ai tenté de mettre un index en base sur le champ module_label concerné par le order_by mais cela n'améliore pas vraiment les choses (3.5s). Ce order_by est-il indispensable ? Y aurait-il un moyen d'améliorer ses performances ?

@camillemonchicourt
Copy link
Member

Bizarre que le tri de quelques modules sur leur nom fasse autant augmenter le temps de la route. Mais à creuser.
Et peut-être en même temps voir cette histoire d'ordre des modules : #164

@camillemonchicourt camillemonchicourt changed the title Route lente Route lente pour trier la liste des modules par label May 3, 2024
@marie-laure-cen
Copy link

De mon côté, la solution proposée ici #181 a résolu mes problèmes de lenteur de chargement

@gildeluermoz
Copy link
Author

J'ai testé cette solution de désactivation du JIT et la différence est flagrante pour la route ../api/monitorings/modules
Avec alter database geonature2db set jit=on; temps de réponse de la requête 3951ms
Avec alter database geonature2db set jit=off; temps de réponse de la requête 88ms
Pas de différence significative par contre sur les autres routes du module ; lors du chargement de la liste des groupes de sites par exemple (113 groupes de sites).

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

No branches or pull requests

3 participants