rleger / covidrea

GNU Affero General Public License v3.0
3 stars 10 forks source link

Possibilité de gains de performance sur la home #11

Open nyroDev opened 4 years ago

nyroDev commented 4 years ago

Sur la home, pour afficher les chiffres, on fait 4 requêtes MySQL :

  1. La 1ère pour récupérer les IDs des établissements qui sont dans le radius sélectionnés
  2. 3 autres pour récupérer les totaux des lits

En terme de performance, et lorsque le serveur sera chargé, il est possible que le dashboard rame à cause de ça.

Plusieurs possibilités pour essayer d'y remédier :

  1. Tout faire en une seule requête (cela nécessitera de coder quelque chose de spécifique dans le model je suppose)
  2. Mettre en cache la 1ère requête et invalider ce cache dès qu'un établissement est ajouter/modifier/supprimer et ne faire qu'une seule requête pour récupérer les 3 totaux (devraient être rapide car select sur la clé primaire)
  3. On peut aussi mettre en cache les totaux, mais ça pourrait être contre productif car le cache serait invalidé très souvent...
rleger commented 4 years ago

Tout à fait d'accord. Ce n'est pas prioritaire je pense a l'échelle du déploiement initial (BFC) mais a surveiller en fonction des performances surtout si devient national.

  1. sera + efficace mais pas dit que ca soit très rapide pour autant 2.+++ A mon avis la meilleure solution car les établissements ne changent pas beaucoup mais source d'erreur lors des ajouts et suppression, a implémenter 1) quand on grandira 2) quand on aura des tests.
  2. En effet ca va nécessiter de refaire le cache souvent, on risque de perdre l'intérêt