Skip to content
New issue

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

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

Already on GitHub? # to your account

pistes d’amélioration des perfs de la recherche de créneaux #4727

Open
adipasquale opened this issue Oct 17, 2024 · 0 comments
Open

pistes d’amélioration des perfs de la recherche de créneaux #4727

adipasquale opened this issue Oct 17, 2024 · 0 comments

Comments

@adipasquale
Copy link
Contributor

adipasquale commented Oct 17, 2024

priorisation :

  1. regarder les indexes
  2. essayer d’unifier les requêtes Rdvs et absences

hacks

  • pour les requêtes ANTS avec plusieurs lieux, limiter le range max de calcul (l’ANTS demande 3 mois)

optims modélisation

On pourrait éventuellement stocker dans Postgres les occurences « dépliée » des PO récurrentes et des absences récurrentes.
Ça serait un cache qu’il faudrait maintenir à jour lors des changements de ces règles d’occurences.
On pourrait alors potentiellement demander à postgres de calculer les créneaux lui même.

optims requêtes

  • faire une seule requête pour les rdvs et une seule pour les absences - la difficulté c’est la syntaxe postgres des ranges et activerecord
  • faire du parallélisme thread plus haut (POs, agents, lieux...)
  • revoir les indexes - notamment celui des RDV

optims ruby

  • passer un peu de temps à essayer d’optimiser le dépliage d’occurence et le calcul des diffs de ranges
  • activer YJIT
  • faire du vrai parallélisme process pour exécuter du ruby de manière parallèle (le GIL bloque). ça peut passer par : des forks de process, des fibers (?), externaliser à des jobs GoodJob, externaliser à Postgres, externaliser à Redis, externaliser à une appli custom qui ne fait que ça..

cc @victormours

@adipasquale adipasquale added ANTS interconnexion ANTS mairie recherche de créneaux et dédoublonnage and removed ANTS interconnexion ANTS mairie recherche de créneaux et dédoublonnage labels Nov 5, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
Status: 🔖 Ready
Development

No branches or pull requests

1 participant