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

Optimisation des requêtes SQL sur la page d'accueil #6101

Merged
merged 2 commits into from
Apr 20, 2021

Conversation

Situphen
Copy link
Member

@Situphen Situphen commented Apr 19, 2021

Optimisation des requêtes SQL sur la page d'accueil

Avant

  • Utilisateur connecté : 132 requêtes pour la première visite et 101 pour les suivantes (~2s)
  • Anonyme : 103 requêtes pour la première visite et 74 pour les suivantes (~1,6s)

Après

  • Utilisateur connecté : 100 requêtes pour la première visite et 69 pour les suivantes (~1,7s)
  • Anonyme : 79 requêtes pour la première visite et 50 pour les suivantes (~1,4s)

La différence entre la première requête et les autres est due au cache.

@Situphen Situphen changed the title Optimisation des requêtes sur la page d'accueil Optimisation des requêtes SQL sur la page d'accueil Apr 19, 2021
@coveralls
Copy link

coveralls commented Apr 19, 2021

Coverage Status

Coverage decreased (-0.004%) to 86.636% when pulling 67aca13 on Situphen:opti-home into b817afc on zestedesavoir:dev.

@Situphen Situphen force-pushed the opti-home branch 2 times, most recently from 32cf716 to a80ceb4 Compare April 19, 2021 18:11
@Situphen Situphen added this to En développement in Suivi des PR via automation Apr 19, 2021
@Situphen Situphen marked this pull request as ready for review April 19, 2021 18:17
@Situphen Situphen moved this from En développement to En attente de QA in Suivi des PR Apr 19, 2021
zds/tutorialv2/models/database.py Outdated Show resolved Hide resolved
zds/tutorialv2/models/database.py Outdated Show resolved Hide resolved
@@ -215,8 +215,6 @@ def get_last_tutorials(self, number=0):
self.filter(type="TUTORIAL")
.filter(public_version__isnull=False)
.prefetch_related("authors")
.prefetch_related("authors__profile")
Copy link
Member

Choose a reason for hiding this comment

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

ça ne va pas être gênant de ne pas la charger?

Copy link
Member Author

Choose a reason for hiding this comment

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

Non car cette fonction n'est utilisée que pour la page d'accueil et dans celle-ci pour les contenus on ne fait pas appel au profil des auteurs.

Suivi des PR automation moved this from En attente de QA to Modification demandée Apr 19, 2021
Copy link
Member

@philippemilink philippemilink left a comment

Choose a reason for hiding this comment

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

Rapport de QA

Voici les mesures que moi j'obtiens:

connecté:
default 86.45 ms (140 requêtes including 100 similar and 24 duplicates )
default 55.70 ms (107 requêtes including 80 similar and 24 duplicates )
==> default 56.56 ms (99 requêtes including 63 similar and 8 duplicates )
default 56.56 ms (99 requêtes including 63 similar and 8 duplicates )

anonyme:
default 27.77 ms (111 requêtes including 84 similar and 22 duplicates )
default 22.03 ms (82 requêtes including 64 similar and 22 duplicates )
==> default 45.13 ms (82 requêtes including 56 similar and 8 duplicates )
default 34.57 ms (53 requêtes including 36 similar and 8 duplicates )

Ça diminue bien et tout fonctionne, donc c'est OK ✔️

@artragis je te laisse approuver et merger

Suivi des PR automation moved this from Modification demandée to Fusionnable après rebase Apr 20, 2021
@artragis artragis merged commit 4a9e862 into zestedesavoir:dev Apr 20, 2021
Suivi des PR automation moved this from Fusionnable après rebase to Fusionnée Apr 20, 2021
@artragis artragis added this to In progress in Objectif v30.1 via automation May 23, 2021
@artragis artragis moved this from In progress to Done in Objectif v30.1 May 23, 2021
@artragis artragis added C-Back Concerne le back-end Django S-Refactorisation Améliore le code existant sans forcément ajouter de nouvelle fonctionnalité labels May 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Back Concerne le back-end Django S-Refactorisation Améliore le code existant sans forcément ajouter de nouvelle fonctionnalité
Projects
Archived in project
Suivi des PR
  
Fusionnée
Development

Successfully merging this pull request may close these issues.

None yet

4 participants