You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 ?
The text was updated successfully, but these errors were encountered:
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
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).
Le chargement de la page listant les modules est lente.
En analysant, le fonctionnement de cette route :
geonature/api/monitorings/modules
c'est unorder_by
qui ralenti fortement le chargement du résultat de cette route. Avec leorder_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 leorder_by
mais cela n'améliore pas vraiment les choses (3.5s). Ceorder_by
est-il indispensable ? Y aurait-il un moyen d'améliorer ses performances ?The text was updated successfully, but these errors were encountered: