Projet

Général

Profil

Autre #24237

performance, analyse/amélioration requêtes SQL

Ajouté par Frédéric Péters il y a presque 6 ans. Mis à jour il y a presque 6 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
02 juin 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:

Description

De #24099, Benjamin : "150 requêtes pour afficher une page de CMS pour moi c'est problématique", et ce nombre 150 vient de Chris, "ça n'accélère pas le chargement d'une page combo de 150 transactions".

Pour reprendre sans dévier, de #24007, on y parle de https://combo-fredcook.dev.entrouvert.org/une-autre-page/, et c'est 89 requêtes SQL.

Décompte et commentaires :

  • 36 types de cellule, avec deux requêtes pour chaque type : 72.
    • c'est une requête pour la page affichée, data_textcell.page_id = 6
    • et l'autre requête pour la constitution du footer, la remontée via parentcell, data_textcell.placeholder = "footer" and data_text_cell.page_id in (1)
  • 2 types de cellules exposant des badges, 2 requêtes
  • 1 régie, 1 requête
  • 14 requêtes sur la table page
    • slug = 'une-autre-page', 2×
    • slug = 'index' and parent_id is null, 1×
      • ces trois-ci correspondent à la récupération de la page
    • parent_id is null, 1×
    • parent_id = 1, 1×
    • parent_id = 2, 1×
    • parent_id = 5, 1×
    • id = 5, 3×
    • parent_id = 6, 1×
    • parent_id = 8, 1×
    • id = 1, 2×
      • et toutes celles-ci, a priori c'est la constitution de la navigation

Fichiers

prom.png (17,1 ko) prom.png Frédéric Péters, 27 juillet 2018 08:41

Demandes liées

Lié à Combo - Development #24238: Réduire le nombre de requêtes nécessaires à la constitution de la navigation / d'un menuFermé02 juin 2018

Actions
Lié à Combo - Development #24239: Réduire le nombre de requêtes sur les cellulesFermé02 juin 2018

Actions

Historique

#1

Mis à jour par Frédéric Péters il y a presque 6 ans

  • Lié à Development #24238: Réduire le nombre de requêtes nécessaires à la constitution de la navigation / d'un menu ajouté
#2

Mis à jour par Frédéric Péters il y a presque 6 ans

#3

Mis à jour par Christophe Siraut il y a presque 6 ans

et c'est 89 requêtes SQL.

D'accord. (le nombre "150" provient du profiling qui dévoile 176 appels à la méthode 'execute' de 'psycopg2._psycopg.cursor')

#4

Mis à jour par Frédéric Péters il y a presque 6 ans

Pour fermer le ticket, les modifications étant désormais déployées,

Évaluation rapide via prometheus, sur le SaaS de prod :

sum(rate(django_http_requests_times_by_host_view_status_method_sum{method="GET",view="combo.public.views.page",status="200",instance="portail-citoyen-publik.entrouvert.com:443"}[60m]))
 /
sum(rate(django_http_requests_times_by_host_view_status_method_count{method="GET",view="combo.public.views.page",status="200",instance="portail-citoyen-publik.entrouvert.com:443"}[60m]))

(prometheus est en GMT, la chute correspond bien à la mise à jour à minuit)

Formats disponibles : Atom PDF