3. Profilage
PL/pgSQL
Plprofiler
Questions ?
Profilage dans PostgreSQL
Profilage
Analyse Dynamique d’un programme
Mesure :
fréquence et durée d’un appel
l’usage d’une instruction
la consommation temps et mémoire
slardiere PLPROFILER – mars 2017 3 / 24
4. Profilage
PL/pgSQL
Plprofiler
Questions ?
Profilage dans PostgreSQL
Profilage dans PostgreSQL
Nombreuses statistiques dans le catalogue (pg_stat_user_tables, ...)
Requêtes lentes dans les logs : log_min_duration_statement
pg_stat_statement
auto_explain.log_nested_statements = on
slardiere PLPROFILER – mars 2017 4 / 24
7. Profilage
PL/pgSQL
Plprofiler
Questions ?
PL/pgSQL
Au premier appel dans une session :
L’interpréteur « compile » la fonction
Le SQL embarqué n’est qu’une chaine
Résultat : un arbre similaire à celui d’une requête SQL
Les requêtes sont préparées via SPI
Les plans préparées sont utilisées pendant toutes la session
slardiere PLPROFILER – mars 2017 7 / 24
8. Profilage
PL/pgSQL
Plprofiler
Questions ?
Profilage de PL/pgSQL
Problème : le contenu des fonctions est invisible
L’extension Plprofiler permet d’inspecter l’exécution du code PL/pgSQL
Des hooks de debug ont été ajouté en 2006
slardiere PLPROFILER – mars 2017 8 / 24