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

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🔖 Ready
Development

No branches or pull requests

1 participant