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

[Perf] Précharger les associations de la liste de RDVs de l'API #4944

Merged
merged 1 commit into from
Jan 6, 2025

Conversation

francois-ferrandis
Copy link
Contributor

@francois-ferrandis francois-ferrandis commented Jan 3, 2025

J'ai remarqué sur Skylight que tous nos appels vers l'API de liste des RDVs prennent entre 1100-1500ms, alors qu'il s'agit d'une page de 100 RDVs.

Certes le blueprint inclus beaucoup d'associations (les users sont inclus un fois à travers les participations et une second fois à la racine...), mais la raison principale est les requêtes N+1.

Testé en local, ce préchargement devrait dramatiquement réduire le temps d'exécution de cet endpoint.

Avant (6 janvier 2025)

https://www.skylight.io/app/applications/RgR7i58P67xN/recent/6h/endpoints/Api::V1::RdvsController%23index?responseType=json

image

Après (11 janvier 2025)

image

@francois-ferrandis francois-ferrandis self-assigned this Jan 3, 2025
Copy link
Contributor

@adipasquale adipasquale left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙇 bien vu, merci d’avoir pris le temps de creuser et de faire la PR !

@francois-ferrandis francois-ferrandis merged commit d24bdcd into production Jan 6, 2025
15 checks passed
@francois-ferrandis francois-ferrandis deleted the frf/perf/api-rdv-index-preload branch January 6, 2025 10:26
@francois-ferrandis
Copy link
Contributor Author

C'est malin, on dirait que plus personne n'appelle cet endpoint depuis cette optimisation (aucune donnée sur Skylight). 👀

@francois-ferrandis
Copy link
Contributor Author

Ah, on a enfin eu un nouveau pic de requêtes (187 requêtes, wow) pendant le weekend (voir screenshot en description) : on passe à 300 ms en moyenne par requête au lieu de 1300 ms ! ⚡

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

Successfully merging this pull request may close these issues.

2 participants